【发布时间】:2019-11-22 02:20:04
【问题描述】:
我有两个班级:
class DataGeneratingModule < ActiveRecord::Base
has_and_belongs_to_many :action_coordinates
end
class ActionCoordinates < ActiveRecord::Base
include SingleTableInheritable
has_and_belongs_to_many :data_generating_modules
end
ActionCoordinates 在这里故意总是复数。在域中使用单数是没有意义的
所以我创建了一个自定义变形器
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'action_coordinates', 'action_coordinates'
end
然后我打电话给DataGeneratingModule.first.action_coordinates
我得到一个错误提示
NameError (uninitialized constant DataGeneratingModule::ActionCoordinate)
如果您注意到它正在寻找具有单数 ActionCoordinate 的类定义
虽然自定义变形器似乎正在工作,但实例方法存在,但是在查找类定义时似乎没有应用变形器。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails activerecord ruby-on-rails-5