型號例如:Rails 3.2:沒有i18n_key的ActiveRecord模型 - 它怎麼可能以及如何修復?
class ModelOne < ActiveRecord::Base
...
end
class ModelTwo < ActiveRecord::Base
...
end
從鐵軌控制檯:
[1] pry(main)> ModelOne.model_name.i18n_key
NoMethodError: undefined method `i18n_key' for "model_one":String
[2] pry(main)> ModelTwo.model_name.i18n_key
=> :model_two
我該如何解決這個問題?
3.2你正在使用什麼版本的?對於3.2.22.2,我得到了我期望的例如:User.model_name.i18n_key =>:user',但我也得到了'User.model_name.class => ActiveModel :: Name',而你似乎正在獲取一個字符串。你確定你(或者其他一些你使用的gem)沒有重寫'model_name'方法嗎? –
是的,你完全正確。在包含的模塊中找到這個方法。 def model_name table_name [0 ..- 2] end –
太棒了!在那種情況下,我會把它作爲答案。 –