【发布时间】:2021-06-24 03:53:06
【问题描述】:
我正在努力将应用程序升级到 Rails 5,如果 url 为 nil,#asset_path 现在会引发。我正在尝试用一个可以像 Rails 4 一样工作的版本对该方法进行修补,以便我可以通过测试。
我已经为此花费了几个小时,我快疯了。出于某种原因,无论我做什么,我都无法修补模块。我认为这个初始化程序会起作用:
module ActionView
module Helpers
module AssetUrlHelper
alias asset_path_raise_on_nil asset_path
def asset_path(source, options = {})
return '' if source.nil?
asset_path_raise_on_nil(source, options)
end
end
end
end
我还尝试将我的方法放在另一个模块中,并将 includeing、prepending 和 appending 放入 ActionView::Helpers::AssetUrlHelper 和 ActionView::Helpers::AssetTagHelper。
无论我做什么,我的方法都无法执行。我可以更改方法的唯一方法是 bundle open actionview 并更改实际方法。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-5