2011-12-28 56 views
0

我想自動填充軌道與關係表中的選擇框。Rails填充collection_select

Venture_Users有用戶和風險ID的列表,所以我想找到特定風險下的所有用戶,然後通過user_id和user.name顯示用戶。

我嘗試以下

 <%= f.collection_select(:user_id, VentureUser.find_all_by_venture_id(@venture.id), :user_id, :name) %> 

但是最後一個屬性:名稱不工作,因爲它是不能直接在我的結果,我需要在我的用戶表運行一個查詢來獲取的名稱用戶。'

基本上我需要但不知道該怎麼做的是修改我的VentureUsers.find_all語句,以便從我的用戶表中加入屬性。

謝謝, 邁克

回答

2

這應該是很簡單的,只要你有你的協會設置正確。如果我明白您的方案正確,那麼你或許應該有它成立這樣的:

class Venture < ActiveRecord::Base 
    has_many :venture_users 
    has_many :users, :through => :venture_users 
end 

class VentureUser < ActiveRecord::Base 
    belongs_to :venture 
    belongs_to :user 
end 

如果你的協會確實是這樣,那麼你應該能夠創建的選擇是這樣的:

<%= f.collection_select(:user_id, @venture.users, :id, :name) %> 
+0

精美地工作。我是新來的鐵軌,並沒有意識到:通過方法。非常感謝。 –