0

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

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

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

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

回复数据库

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

回复.rb

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

我的想法是从 :string 更改 rsvp,我必须在其中输入参加 / 不参加 :integer ,这样我就可以在两个选项上选择真 / 假值。现在就像我说的那样,我对此很陌生,但在我看来,这可能是如何去做这样的事情。

因为我要尝试计算有多少人参加/不参加并显示在索引上。抱歉,如果有任何遗漏,请告诉我并更新问题。

4

1 回答 1

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 %>
于 2012-11-18T19:02:26.323 回答