我认为问题不在于您的服务器端代码。对我来说一切都很好。它正在呈现的
edit.js.erb事实证明您的服务器端代码运行良好。
问题出在您的客户端。当它收到Ajax响应时,就不会将其作为javascript执行。它以文本形式执行。
我本人最近遇到了这个问题,希望我可以随身携带我的代码,但我正在工作。但是,我亲自编写了jQuery Ajax请求,而不是依靠它,
:remote =>true因为该选项主要在表单中使用。
尝试提供您
link_to的ID,然后将此jQuery放在您的
application.js或任何位置。
$('#link_id').click(function(){ $.ajax({ type : 'GET', url : '/:controller/:action/', dataType : 'script' }); return false;});这将捕获链接的click事件,向服务器发送请求,该请求应返回您的
edit.js.erb文件,然后将其作为脚本执行。
提醒您,要考虑很多安全问题,以及真实性令牌等。但是,这应该使您的警报得以执行,并使您正确完成应用程序。
阅读jQuery的Ajax,以获取更多选项以及有关POSTing数据的详细信息。
希望这可以帮助。
更新:其他可能的解决方案包括使用UJS作为Javascript驱动程序。您可以阅读https://github.com/rails/jquery-
ujs上的文档,并使用UJS 观看主题Unobtrusive
Javascript的Railscast 。



