在我的代码中,我有一个模型,其名称包含字符串"cache"。例如:
class DataCache < ActiveRecord::Base
表名为CCD_ 1。当我运行时:
"data_caches".classify.constantize.new
为了初始化模型,我得到了这样的错误:
NameError: uninitialized constant DataCach
为什么不起作用?我期望"DataCache",但得到了"DataCach"。
看看Rails中的Infections类。将以下文本添加到config/initializers/inflections.rb
类:
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'cache', 'caches'
end
现在在rails控制台中尝试单词:
>> "caches".singularize
=> "cache"
>> "cache".pluralize
=> "caches"
您应该帮助rails了解如何在这种情况下将单数转换为复数。尝试使用此名称更新config/initializers/inflections.rb
。我认为它应该能解决问题。