什麼你看是join_model
,這既可以用has_and_belongs_to_many
使用,或has_many :through
關係
我不知道你想達到什麼樣的,但我會強烈建議採用在自主車型一has_many :through
協會:
#app/models/type.rb
Class Type < ActiveRecord::Base
has_many :item_types
has_many :items, through: :item_types
end
#app/models/item.rb
Class Item < ActiveRecord::Base
has_many :item_types
has_many :types, through: :item_types
end
#app/models/item_type.rb
Class Type < ActiveRecord::Base
belongs_to :item
belongs_to :type
end
這將允許您調用join_model
通過你的其他車型,像這樣:
@item = Item.find(params[:id])
@item.item_types #-> calls SQL "select * from item_types where item_id = @item.id"
這是正確的Rails方式來做到這一點。 HABTM
不使用模型; HMT
呢。你應該生成一個模型使用@Bharat Soni's
評論&使用我的代碼段訪問它
但是,爲什麼你不爲此創建模型,是否有任何理由呢? –
@Bharatsoni不,如果那是一個愚蠢的問題,我很抱歉。創建表後,我正在考慮從該表中檢索值。如果我們不能在沒有模型的情況下做到這一點,那麼請您建議我如何爲現有表創建模型? – liya
(rails g model item_type --skip-migration)該命令將爲您創建一個模型,這裏跳過遷移不會生成遷移文件,因爲您的數據庫中已經有了一個表。 –