选择element,simple_form helper

时间:2012-11-13 08:11:08

标签: ruby-on-rails simple-form

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

Customer_currency可选择美元 - 美元,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 %>

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:0)

label_methodvalue_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 %>