2013-07-22 37 views
10

我在select_tag中具有以下內容。它工作正常。 (我使用select_tag,因爲它是不依賴於模型搜索)如何獲取options_from_collection_for_select的多個字段

options_from_collection_for_select(@customers, :id, :first_name) 

目前的HTML輸出是:

<option value="4">Fred</option> 

但我想:

<option value="4">Fred Flintstone</option> 

我想顯示全名,而不是隻顯示名字。我似乎無法讓它使用「first_name」和「last_name」這兩個字段,也不知道如何讓它調用一個方法來連接兩個字段。我怎樣才能使這個工作?

回答

12

您可以定義你的模型:

def name; "#{first_name} #{last_name}";end

及用途:

options_from_collection_for_select(@customers, :id, :name)

+0

謝謝你,解決了我遇到的同樣的問題。 –

17

add方法FULL_NAME在你的模型:

def full_name 
    "#{first_name} #{last_name}" 
end 

,並使用此:

options_from_collection_for_select(@customers, :id, :full_name) 

希望這會有所幫助。

+0

謝謝你,Rails Guy。貝爾納多在10分鐘內擊敗了你,所以我將他的答案標記爲「已解決」的答案。無論如何,我感謝你的幫助! – circle1

+0

我不會回答,如果我重新加載頁面,並可以看到他的答案。 BTW感謝upvoting。 –

+0

@RailsGuy:謝謝你,解決了我遇到的同樣的問題。 :) –

相關問題