我正在尝试在我的表单中创建一个使用简单表单+ 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 %>
答案 0 :(得分:8)
<%= f.input :customer_currency, :collection => [['UGX- Uganda Shillings',1],['USD- US Dollars',2]] %>
答案 1 :(得分: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 %>