简单形式:如何设置集合的值

时间:2013-07-14 09:31:48

标签: ruby-on-rails simple-form

我在下面有以下代码:

= simple_form_for :credits, url: "/accounts/#{@account.id}/topup" do |f|
  = f.input :amount, collection: [100,500,1000,5000,10000],as: :radio_buttons
  = f.button :submit

它可以设置集合中的所有值和标签。我想要的是像,

label: 100, value: 500

这会怎么样?

3 个答案:

答案 0 :(得分:2)

像这样(来自simpleform github)。

他们的例子是:

form_for @user do |f|
  f.collection_check_boxes :options, [[true, 'Yes'] ,[false, 'No']], :first, :last
end

所以我觉得你应该看起来像:

= simple_form_for :credits, url: "/accounts/#{@account.id}/topup" do |f|
  = f.collection_check_boxes :amount, [[100, 500], [500, 'a'], [1000, 'b'], [5000, 'c'], [10000, 'd']]
= f.button :submit

答案 1 :(得分:0)

您需要使用数组数组:

[[100, "One Hundred"], [200, "Two Hundred"], [300, "SPARTA!"]] 

然后,您可以单独设置值和标签。

答案 2 :(得分:0)

试试这个,为我工作:

= simple_form_for :credits, url: "/accounts/#{@account.id}/topup" do |f|
  = f.input :amount, collection: [['100','500'], ['1000','5000'] ,['10000', '23']], as: :radio_buttons
  = f.button :submit