1
我想覆蓋Rails 3中ActiveSupport :: CoreExtensions :: String :: Inflections.foreign_key的行爲不確定在哪裏如何正確地做到這一點。如何覆蓋在ActiveSupport CoreExtensions中定義的方法字符串
在Rails 2.3我創建的打開類並重新定義方法的插件,但它似乎並沒有在3.0
我想覆蓋Rails 3中ActiveSupport :: CoreExtensions :: String :: Inflections.foreign_key的行爲不確定在哪裏如何正確地做到這一點。如何覆蓋在ActiveSupport CoreExtensions中定義的方法字符串
在Rails 2.3我創建的打開類並重新定義方法的插件,但它似乎並沒有在3.0
ActiveSupport::CoreExtensions::String::Inflections#foreign_key
代表一道,在實際的邏輯是,所以我建議修補後者。
嘗試把這個給config/initializers/extensions.rb
:
require 'inflector_extensions'
然後你的代碼進入lib/inflector_extensions
:
module ActiveSupport::Inflector
def foreign_key(class_name, separate_class_name_and_id_with_underscore = true)
underscore(demodulize(class_name)) + '_my_legacy_suffix'
end
end
這應該給:
$ ./script/rails c
Loading development environment (Rails 3.0.11)
>> "whetever".foreign_key
=> "whetever_my_legacy_suffix"