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