ruby-on-rails – 为什么Heroku返回’devise / sessions.js没有预编译’?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为什么Heroku返回’devise / sessions.js没有预编译’?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在向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.如果有人遇到这个问题,这就是我所做的.

我已经通过布局文件中的以下标签加载了控制器特定的.js.

<%= 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

似乎到目前为止工作正常

再次感谢您的建议.

猜你在找的Ruby相关文章