我有一个表单,我的用户可以在其中输入一个人来回复婚礼邀请。他们输入姓名、菜单选项,然后选择:参加 - 是/否 - 然后我用标签计算真假金额,以便用户可以看到有多少人参加或没有参加。
我的问题出在表格本身。 RSVP 专栏所在的位置,我现在刚刚得到“真”或“假”。无论如何,在 Ruby 中我可以将其更改为我的 index.html.erb 的字符串值吗?
索引
<% @replies.each do |reply| %>
<tr>
<td><%= reply.name %></td>
<td><%= reply.menu %></td>
<td><%= reply.rsvp %></td>
<td><%= link_to 'Show', reply, class: "btn" %></td>
<td><%= link_to 'Edit', edit_reply_path(reply), class: "btn" %></td>
<td><%= link_to 'Delete', reply, method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-danger" %></td>
<td><%= reply.user.full_name %></td>
</tr>
<% end %>
回复.rb
class Reply < ActiveRecord::Base
attr_accessible :menu, :name, :rsvp, :user_id
belongs_to :user
def self.find_attending
Reply.where(:rsvp => "true").count
end
def self.find_not_attending
Reply.where(:rsvp => "false").count
end
end
_form.html.erb
<%= f.input :user_id, collection: User.all, label_method: :full_name, :label => 'Added By' %>
<%= f.input :name, :label => 'Person(s) Name' %>
<%= f.input :menu, :label => 'Menu Choice' %>
<%= f.collection_radio_buttons :rsvp, [[true, 'Attending'] ,[false, 'Not Attending']], :first, :last %>
数据库
class CreateReplies < ActiveRecord::Migration
def change
create_table :replies do |t|
t.string :name
t.text :menu
t.boolean :rsvp, :default => false
t.timestamps
end
end
end
我是 Ruby 的新手,如有任何指点,我将不胜感激。非常感谢。
最佳答案
"#{reply.rsvp}"
怎么样?看起来更干净了,不是吗?
关于ruby-on-rails - 如何将我的 bool 输出更改为 ruby 中的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504034/