2009-09-25 52 views
2

在我的應用程序中,我的成員表上有一個collection_select,成員表只包含id的。它有一個user_id,project_id,role_id等等。用collection_select替換id的名稱

我想在collection_select中顯示成員名稱。但是,我只有成員表中的user_id,我如何顯示用戶表中的名稱作爲選項?

<%= collection_select(nil, :member_id, members, :id, :user_id, 
       {:prompt => "Select a member"}) %> 

現在選擇框顯示選項1,2,3,4等等。它需要來自用戶表的name1,name2。

有沒有人有這方面的經驗?

+0

你覺得有一個選擇的元素將成爲用戶有大量成員時友好嗎? – khelll 2009-09-25 08:11:55

+0

集合選擇基於「選擇項目」選擇框,但感謝您的反饋 – arcooverbeek 2009-09-25 08:27:54

回答

3

首先你需要一個新的方法添加到您的會員模式:

class Member < ActiveRecord::Base 
    belongs_to :user 
    def member_name 
    user.name 
    end 
end 

然後改變text_method參數member_name

<%= collection_select(:member, :member_id, members, :id, :member_name, 
       {:prompt => "Select a member"}) %>