如何与非复数表名进行活动记录关联?

时间:2018-07-04 22:37:28

标签: ruby-on-rails activerecord orm associations pluralize

我正在尝试为两个不具有复数形式但仍可以暗示多个(设备和JobEquipment)的表建立活动记录关联。

当我尝试从JobEquipment对象获取设备时,始终出现以下错误。关系是一对多(1台设备可以有很多作业设备实例)

job_equipment.equipment

NoMethodError: undefined method `fetch_value' for nil:NilClass

目前我的模型是这样的

class JobEquipment < ApplicationRecord
    self.table_name = "job_equipment"
    belongs_to :equipment, :class_name=>"Equipment"
    // I tried adding the :class_name=>model to indicate to active record that this would be the plural name as well but no luck.

end

class Equipment < ApplicationRecord
    self.table_name = 'equipment'
    has_many :job_equipment, :class_name => "JobEquipment" // I don't believe this has_many association is required but I was running out of ideas so I've added it just incase.
end

JobEquipment表具有equipment_id。

我在这里想念什么?我所有其他关联都起作用,但是表都具有复数名称。我已经尝试了一些方法来使其正常工作。我什至尝试使用设备和JobEquipments,但Rails / Active记录仍然抛出错误。

我觉得一定有办法做到这一点,因为我认为一个名为equipment的表会很常见。

任何帮助将不胜感激,奇怪的是我找不到任何资源表明其他人在非复数形式表上的关联有问题

0 个答案:

没有答案