我正在尝试将一个嵌套表单放入我的一个视图中。我已经安装了nested_form Gem并执行了安装步骤。我所做的最后一件事是编辑我的app/view/layout/application.html.erb文件,使其包含以下行
<%= javascript_include_tag "nested_form" %>但当我查看呈现的页面时,javascript无法工作。我检查了页面源代码,发现nested_form javascript的呈现代码如下所示:
<script src="/assets/nested_form.js" type="text/javascript"></script>因此,它似乎看错了地方。该.js文件位于public/javascripts中,而不是assets中。是我做错了什么,还是我需要在那个javascript_include_tag中指定其他东西?
发布于 2011-10-26 23:49:33
从Rails3.1和更高版本开始,javascript_include_tag将只在javascripts的资产管道中查找。如果您想将public/javascripts添加到资产管道中,只需将public path添加到您的
Rails.application.config.assets.paths在初始化RoR应用程序时使用数组,因为它定义了资产管道查看的路径。
所以你没有做错任何事,你正在使用的gem只是过时了,它是针对rails 3.0的。尽管我建议尝试将javascripts从公共文件夹移动到assets文件夹,并查看它是否有效,因为这是将javascripts放入3.1应用程序的首选方法。
另一种解决问题的方法是,如果您不使用资产管道,则将其完全禁用。这是通过删除
config.assets.enabled = true在您的config/application.rb中
如果您想了解更多有关资产管道的信息,Railscast在其http://railscasts.com/episodes/279-understanding-the-asset-pipeline上提供了一个视频
https://stackoverflow.com/questions/7905183
复制相似问题