我在部署生产时遇到以下错误。有人可以帮忙解决方案吗?谢谢。
ActionView::Template::Error (undefined method `include_stylesheets' for #<#<Class:0x00000003d8e0e8>:0x00000002d0f730>):
2: %html
3: %head
4: %title= Settings.app_name
5: = include_stylesheets :canvas, :media => 'all'
6: = include_javascripts :canvas
7: = javascript_include_tag 'home/custom.js.coffee'
8: = csrf_meta_tags
app/views/layouts/home.html.haml:5:in `_app_views_layouts_home_html_haml___3948606540755903120_32481960'
app/controllers/website/home_controller.rb:11:in `home'
答案 0 :(得分:1)
一段时间后我遇到了同样的问题
错误ActionView::Template::Error (undefined method 'include_stylesheets' for #<#<Class:0x00000003d14ae9>:0x00000002e02770>):
这意味着jammit gem未正确加载。为此,请检查您的Web应用程序
1。 gem包含在您的gem文件中
gem "jammit"
2。 gem已加载到您的environment.rb
文件中(在您的情况下,我会认为production.rb
)
在环境文件
config.before_initialize do
end
并在 块之间的中写下config.gem "jammit"
3。和@Dimitri Jorge一样,你需要运行jammit b / w更新源代码和符号链接到新版本。因此,如果您在deploy.rb
require 'jammit'
然后
task :generate_assets, :roles => :web do
run "cd #{your_path_to_deploy_directory}/current && bundle exec jammit"
end
after "deploy", "deploy:generate_assets"
我希望这能解决这个问题。得到;)
答案 1 :(得分:0)
在生产中,您需要在部署期间运行Jammit,在更新源和符号链接到新版本之间的某个位置。无论你是使用Capistrano,Vlad,还是只是很好的'ol Rake,添加一个调用jammit命令的步骤都不应该太难。
您是否运行了 jammit 命令?