2013-07-22 40 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:谢谢你,解决了我遇到的同样的问题。 :) –

相关问题