1
我學習Rails和ActiveRecord的東西,但我有點卡住這個小問題。Rails協會:一種方式協會
可以說你我是產品(庫存),每個產品都有顏色,通常正確的方法是建立關聯。請看看下面的代碼:
class Stock < ActiveRecord::Base
attr_accessible :size, :colour_id
end
class Colours < ActiveRecord::Base
belongs_to :stock
end
其實我希望能夠做的是
p @stock_item.colour.name
# But I get this error
SQLite3::SQLException: no such column: colours.stock_id: SELECT "colours".* FROM "colours" WHERE "colours"."stock_id" = 1 LIMIT 1
的時候,其實查詢應該是:
SELECT "colours".* FROM "colours" WHERE "colours"."id" = "stock"."colour_id"
由於顏色在現實中都是唯一的股票項目的財產。我怎樣才能建立一個協會這樣,這樣我可以這樣做:
p @stock_item.colour.name
> Red
感謝。
烏默爾
非常感謝。我認爲現在是時候閱讀一本關於Rails或指南的書了! – umerh 2013-03-08 17:56:06