首先我是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:字符串,我必须键入参加/不参加:整数,这样我就可以在两个选项上赞成真/假值。就像我说我对此非常陌生,但在我的脑海中,这可能就是如何去做这件事。
因为即时通讯会尝试计算参加/不参加的人数并在索引上显示。很抱歉,如果遗漏了任何内容,请告知我并更新问题。
答案 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 %>