0
我有兩個表:Members and Addresses
。我怎樣才能將這兩個表格合併到我的模型中,以便我可以將所有列合併在一起?例如,成員有一個名爲position
的列,Addresses有一個名爲street
的列。我怎麼能這樣做,以便我可以在同一個虛擬表中有位置和地址。這是否有合併功能?Rails合併表
我有兩個表:Members and Addresses
。我怎樣才能將這兩個表格合併到我的模型中,以便我可以將所有列合併在一起?例如,成員有一個名爲position
的列,Addresses有一個名爲street
的列。我怎麼能這樣做,以便我可以在同一個虛擬表中有位置和地址。這是否有合併功能?Rails合併表
不知道爲什麼你需要創建一個單獨的模型,你可以使用基本的Ruby構建了這一點:
我假設Member
有一個名爲address_id
列,這是一個成員belongs_to
的Address
。這會自動爲你加入聯合。
因此,所有你需要做的是這樣的:
class Address < ActiveRecord::Base
end
class Member < ActiveRecord::Base
belongs_to :address
end
member = Member.create(:address => Address.find(123))
如果你想獲得的地址,只是在位置字段,然後去:
member = Member.find(456)
position = member.address.position
或者是:
Member.joins(:address).select("members.position, addresses.street")
不知道你要做什麼,但如果它是非常具體的東西,你也可以嘗試創建一個在你的數據庫中查看,然後爲它創建一個模型,將它當作普通表格對待。
基本上,當我的網站填寫訂單時,您必須填寫業務地址,然後填寫業務中每個成員的地址。我認爲如果我這樣做的話可能會少一些多餘的......你是否同意我現在只是在使用不好的練習? – Jake
如果你在Rails中很難做到這一點,你可能不會像Rails希望你那樣做。我會用最簡單的方法。你可能真正想要的是has_and_belongs_to_many或has_many:through關係。我仍然不確定你想要完成什麼。 – Dex