我正在向Heroku部署一个Rails 3.2应用程序.我正在根据
https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar在本地预编译资产.
但我得到了@H_502_3@
ActionView::Template::Error (devise/sessions.js isn't precompiled):
有没有人遇到这个?@H_502_3@
什么是正确的方式来确保Devise javascripts是预先设置的.@H_502_3@
谢谢!@H_502_3@
解决方法
谢谢你的建议.经过一番思考,我意识到这个问题是由于应用程序被配置为调用特定于控制器的javascript.如果有人遇到这个问题,这就是我所做的.
我已经通过布局文件中的以下标签加载了控制器特定的.js.@H_502_3@
<%= javascript_include_tag "application",params[:controller] %>
问题是,如果一个特定的cotroller.js文件不存在,则会失败.在我的情况下,登录页面失败,因为我没有创建一个设计/ sessions.js文件.@H_502_3@
我可以创建这个文件,但我觉得这是一个凌乱的方法.我不喜欢有很多空文件躺在周围的想法.@H_502_3@
相反,我明确地从视图中调用特定于控制器的javascript@H_502_3@
<% javascript 'controller.js' %>
在application_helpers中使用以下帮助器@H_502_3@
def javascript(*files) content_for(:head) { javascript_include_tag(*files) } end
似乎到目前为止工作正常@H_502_3@
再次感谢您的建议.@H_502_3@