1
嗨,我很新的Rails,所以很抱歉,如果這是愚蠢的。我一直在尋找幾個小時。甚至不知道該問什麼。非常感謝您的幫助。Rails:一對多如何訪問衆多數據中的數據
我想要一個代碼和說明表。然後是另一個包含代碼的主表。加入這兩個表格,以便我可以根據代碼進行排序並提取說明。我似乎無法弄清楚代碼來描述。
這是代碼和說明遷移
create_table :sniffs do |t|
t.string "sniff_desc", :limit => 5
t.timestamps
end
這是主表遷移
create_table :lenders do |t|
t.integer "sniff_id"
t.timestamps
end
add_index("lenders", "sniff_id")
這些模型
class Lender < ActiveRecord::Base
belongs_to :sniffs
scope :ranked, order("lenders.sniff_id ASC")
end
class Sniff < ActiveRecord::Base
has_many :lenders
end
的嗅探表
id sniff_desc
1 Great
2 OK
3 Bad
貸款表
id sniff_id
1 2
2 2
3 3
這是我想不通?如何爲特定的貸方實例獲取sniff_desc。例如,我在lender.id(2)上,我想知道它是sniff_desc「OK」。
所以,如果我軌控制檯
lender = Lender.find(2)
lender.sniffs
我得到
=> nil
我想我會得到嗅探第二個記錄。如果我鍵入此
Sniff.find(lender.sniff_id).sniff_desc
我得到正確的答案
=> "OK"
但代碼似乎打敗做一個一對多的關係的全部目的。
我不理解一對多的正確嗎?或者我該如何解決這個問題?
非常感謝您的幫助。我認爲這個問題太簡單了,所以我找不到其他人提問?!
呀謝謝你的sooo多米沙!是的,它的工作原理。我不會再犯這個錯誤。謝謝。 – haley