0

まず、Ruby は初めてなので、これはおそらく間違ったアプローチかもしれませんが...

シンプルなフォームを使用して、select に 2 つの値を設定しようとしています。これまでのところ、私は持っています:

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

これは問題なく動作し、ページを読み込んで選択を選択できます。今 RSVP は私のデータベースのフィールドです:

返信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

返信.rb

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

私の考えは、rsvp を :string から変更することでした。ここで、:integer に出席する/出席しないと入力する必要があるため、2 つの選択肢で真/偽の値を使用することができます。私が言ったように、私はこれに非常に慣れていませんが、私の頭の中で、これはそのようなことを行う方法かもしれません.

何人が出席しているか、出席していないかを数えて、インデックスに表示しようとしているためです。何か不足している場合は申し訳ありませんが、私に知らせて、質問を更新してください。

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 に答える