如何使用复选框显示是否在视图中选中了某些内容?

时间:2011-02-10 04:09:59

标签: ruby-on-rails ruby-on-rails-3 checkbox

我正在开发一个用户可以创建想法的测试应用。我试图让他们选择是否会重复出现这个想法,使用复选框(见下文):

<div class= "field">
    <%= check_box_tag(:recur) %>
    <%= label_tag(:recur, "Recurring idea?") %>
</div>

然后,在我的想法索引视图中,我想用标有“重复?”的列显示所有想法。在该专栏中,我希望能够显示哪些想法重复出现。

目前,我将:recur设为:string,也许应该是其他内容?

在我的想法索引视图中,我有这样的代码:<td><%= idea.recur? %></td>在“重复发生?”中只返回“false”所有想法的列(已选中和未选中)。

我知道上面的行是错误的,我甚至不确定我是否正确设置了复选框变量:recur

请帮忙!我希望能够正确使用视图中的复选框以及如何操作用户选择的数据。

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为您的表单与模型之间存在脱节。

实现此目标的最佳方法是在recurring表中创建一个名为ideas布尔字段。

然后,如果你正在使用form_for(你真的应该这样做),你需要做的就是:

<%= form_for @idea do |f| %>
  <%= f.check_box :recurring %>
  <%= f.label :recurring %>
<% end %>

您可以在此处详细了解如何使用form_forhttp://guides.rubyonrails.org/form_helpers.html#dealing-with-model-objects