4

我正在尝试在我的表单中创建一个使用简单表单+引导程序的元素。这个想法是允许用户从下拉列表中选择一种货币。

Customer_currency 可从 USD- 美元、LRD - 利比里亚元等中进行选择。

我在表格中使用了以下内容

但是,它不起作用,我所看到的只是我的表单中有一个下拉菜单(不在位置),带有选项但没有标签。

如何使用简单的表单创建带有标签的良好选择元素

<%= simple_form_for @customer, :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :name %>
<%= f.select :customer_currency, [['UGX- Uganda Shillings',1],['USD- US Dollars',2]] %>
<%= f.input :payment_terms %>
<%= f.input :billing_address %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<%= f.input :mobile %>
<%= f.input :email %>
<div class="form-actions">
<%= f.button :submit, :class => 'btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
            customers_path, :class => 'btn' %>
</div>
<% end %>
4

2 回答 2

8
<%= f.input :customer_currency, :collection => [['UGX- Uganda Shillings',1],['USD- US Dollars',2]] %>
于 2012-11-13T16:59:05.097 回答
0

label_method将和添加value_method到您的选择中,表示更改:

<%= f.select :customer_currency, [['UGX- Uganda Shillings',1],['USD- US Dollars',2]] %>

至:

<%= f.select :customer_currency, [['UGX- Uganda Shillings',1],['USD- US Dollars',2]], label_method: :first, value_method: :last %>

更新:其他解决方案

<%= f.input :customer_currency, as: :select, [['UGX- Uganda Shillings',1],['USD- US Dollars',2]], label_method: :first, value_method: :last %>
于 2012-11-13T08:24:31.427 回答