我有一個表foo
其中belongs_to :bar
(bar
has_many :foos
)。Rails:通過候選鍵創建處理對象
有太多的foos
爲它是明智的向用戶提供一個列表,當他們正在創建一個bar
,所以我要得到用戶輸入的foo
屬於bar
的名稱。這個名字是一個候選關鍵字 - 保證是現在和唯一的。
我想我可以看到我需要採取的步驟:讓foo
驗證bar_id
存在,某處放了find_where
來查找具有特定名稱的bar
(如果它不存在,我會得到一個nil
,所以驗證應該失敗 - 很好)。
我想知道哪裏是最好的地方放find_where
爲了檢查foo
的所有創作和編輯,同時保持DRY原則?如何將它加入新的編輯表單? (還是有更多的Rails的方式?)
Rails 4,順便說一句。
編輯:
爲了使它更具體,假設我每天在世界機場的列表,在Airport
,其中包含機場名稱(name
),3個字符的標識符,被放在你的行李標籤(code
)和Rails生成的airport_id
。假設我有Departure
其中belongs_to :airport
。當我創建/編輯departure
時,用戶進入機場code
,我必須將其映射到Airport
中的實際條目以創建/編輯條目。什麼是最好的地方/方式來做到這一點?
我認爲你不應該在你的問題中使用'foo'或'bar'並將它們轉換爲更明智的例子......「這個問題中'foo'和'bar'的數量太高了」 –