Form_for选择字段,将数据连接到显示字符串中

时间:2013-05-03 07:10:05

标签: ruby-on-rails html-select form-for

我正在尝试使用form_for collection_select来显示帐户类型的一些选择字段选项。

对我来说,如果他们能够在每个选择选项中看到该类型的价格,那么对用户来说会更容易

这是我目前无法使用的代码:

<%= a.collection_select :account_type, AccountType.all, :id, (:name+" - "+number_to_currency(:price)) %>

如何连接值以使(:name+" - "+number_to_currency(:price))实际工作而不会抛出错误?

1 个答案:

答案 0 :(得分:2)

参见文档: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select

您可以使用:text_method选项在选择下拉列表中设置显示的文本。

在您的AccountType模型中,定义如下方法:

  def name_with_price
    "#{name} - $#{price}"
  end

然后,在您的视图中,您可以使用:

<%= a.collection_select :account_type, nil, AccountType.all, :id, :name_with_price %>