我有三个表:Devices,Actions和ActionTypes。 ActionTypes是一个查找表 - 只是一个名称和ID。以下是关系:
设备
has_many :actions
has_many :action_types, :through => :actions
has_many :tasks
动作
belongs_to :device
has_one :action_type
操作类型
has_many :actions
has_many :devices, :through => :actions
我对Rails很新,所以我觉得这些关系不正确 - 我的目标是能够使用类似@ device.action_types的东西,这是ALMOST所做的,但这是它生成的SQL在那种情况下:
SELECT "action_types".* FROM "action_types" INNER JOIN "actions" ON "action_types"."action_id" = "actions"."id" WHERE "actions"."device_id" = 1
这将是完美的,但它应该加入action_types.id = actions.action_type_id。没有actiontypes.action_id(并且应该没有),我知道AR正在寻找它因为我的关系......我只是不确定哪个部分是错的!
答案 0 :(得分:0)