如何设置simple_form输入的值并指定true false值

时间:2012-11-18 18:42:22

标签: ruby-on-rails ruby

首先我是Ruby的新手,但这可能是错误的方法,但是......

我正在尝试使用简单的表单在我的选择中设置两个值。到目前为止我有:

<%= f.input :rsvp, :collection => [:attending, :not_attending], :prompt => 'Choose one...' %>

这很好用,我可以加载页面,选择一个选择。现在RSVP是我的db中的一个字段:

回复DB

class CreateReplies < ActiveRecord::Migration
  def change
    create_table :replies do |t|
      t.string :name
      t.text :menu
      t.integer :rsvp

      t.timestamps
    end
  end
end

reply.rb

class Reply < ActiveRecord::Base
  attr_accessible :menu, :name, :rsvp, :user_id
  belongs_to :user
end

我的想法是改变rsvp:字符串,我必须键入参加/不参加:整数,这样我就可以在两个选项上赞成真/假值。就像我说我对此非常陌生,但在我的脑海中,这可能就是如何去做这件事。

因为即时通讯会尝试计算参加/不参加的人数并在索引上显示。很抱歉,如果遗漏了任何内容,请告知我并更新问题。

1 个答案:

答案 0 :(得分:2)

我认为你走的是正确的方式。您可以为用户选择创建组单选按钮,尝试:

<%= f.input :rsvp, :collection => [['Attending',1], ['Not Attending',0]], as: :radio_buttons, label_method: first, value_method: last, :prompt => 'Choose one...' %>

或者这样:

<%= f.collection_radio_buttons :rsvp, [[true, 'Attending'] ,[false, 'Not Attending']], :first, :last %>