【发布时间】:2014-06-14 11:35:15
【问题描述】:
假设我有三个模型。
User、Tool 和 Work(实际上模型不同,但为简单起见,就是这些家伙)。现在..
我User 被赋予Tool 和Tool 一些Work。
User has many Tools
every Tool belongs to one User
Tool has many Works
every Work was done with single Tool
我可以成功获得User.tools,但我无法让用户完成工作。
我试过了:
User.tools.each do |tool|
tool.works.each do |work|
<%= work.id %>
end
end
但这并没有完全按预期进行(用户已完成多个 Works 的 id),而是出现错误...
我做错了什么?
【问题讨论】:
-
PG::UndefinedColumn: 错误:列works.tool_id 在字符48 处不存在:SELECT "works".* FROM "works" WHERE "works"."tool_id" = $1
-
你得到我的答案了吗?我认为你可以走那条路,我描述过。因为您描述需求的方式非常适合 多对多 模型。
-
是的,非常完美。我的错误是认为 rails 想知道 Works 属于 User。我的错。你知道的越多……
标签: ruby-on-rails ruby activerecord associations models