我正在尝试更新一个Rails应用程序,如果我使用rails 4.2.4(开发版本)到rails 4.2.7可以完全正常运行
一旦我切换到Rails 4.2.8或更高版本(测试所有版本都达到4.2.11),我就会得到
Failure/Error: = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
ActionView::Template::Error:
no implicit conversion of nil into String
# ..../actionview-4.2.11/lib/action_view/helpers/asset_url_helper.rb:140:in `join'
# ..../actionview-4.2.11/lib/action_view/helpers/asset_url_helper.rb:140:in `asset_path'
在actionview-4.2.11 / lib / action_view / helpers / asset_url_helper处有战利品,我可以看到错误发生在
File.join(relative_url_root, source)
其中
pry(#<#<Class:0x00000009a9aa98>>)> source
=> "/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css"
pry(#<#<Class:0x00000009a9aa98>>)> relative_url_root
=> {}
一旦我删除了所有stylesheet_link_tags和javascript_include_tags,该错误就不再显示(但是我所有的样式和javascript都消失了)。
这是我的app / views / layouts / application.html.haml中的相关部分
!!!
%html
%head
%meta{:name => "viewport", :content => "width=device-width, initial-scale=1.0"}
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}
%title BrotUndButter
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
= javascript_include_tag 'application', 'data-turbolinks-track' => true
有什么想法吗?
答案 0 :(得分:0)
没关系。 这是这个应用程序的一个非常特殊的问题。 我一直在使用
初始化程序设置一个自定义配置选项
Rails.application.config.x.brotundbutter = Rails::Application::Configuration::Custom.new
,这导致了错误。不要问我我是怎么发现的,这是一个痛苦的结局。