Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用rails复选框获取表单中的模型对象?_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 3.1_Checkbox_Form Helpers - Fatal编程技术网

Ruby on rails 如何使用rails复选框获取表单中的模型对象?

Ruby on rails 如何使用rails复选框获取表单中的模型对象?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,checkbox,form-helpers,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Checkbox,Form Helpers,如何从数据库中获取表单中的复选框值?我希望表单包含现有的子类别名称,当我选中复选框以选择该特定类别名称而不创建新类别名称时,我尝试了ryan bate的railscast,但没有任何帮助。这里的关系是类别有很多子类别,子类别属于类别。谢谢 <%= form_for @category ,:url=>{:action =>"create"} do |f| %> <%=f.text_field :category_name %> <%= f.field

如何从数据库中获取表单中的复选框值?我希望表单包含现有的子类别名称,当我选中复选框以选择该特定类别名称而不创建新类别名称时,我尝试了ryan bate的railscast,但没有任何帮助。这里的关系是类别有很多子类别,子类别属于类别。谢谢

 <%= form_for @category ,:url=>{:action =>"create"} do |f| %>
 <%=f.text_field :category_name %>
 <%= f.fields_for :sub_categories do |s| %>
 <% @category.sub_categories.each do |sub|%>
 <%=s.check_box "name",{},sub.id %>  <!--need help here-->
 <%end%> 
 <%end%>
 <%=f.submit "submit"%>
 <%end%>

根据注释中的交换,您似乎希望使用复选框将子类别对象指定给类别对象。如果是这样的话,你的关联应该是一个类别有很多子类别。那么您的表单将类似于:

<%= form_for @category ,:url=>{:action =>"create"} do |f| %>
 <%=f.text_field :category_name %>
 <% SubCategories.each do |sc| %>
    <div>
      <%= check_box_tag :sub_category_ids, sub_category_id, @category.sub_categories.include?(sc), :name => 'category[sub_category_ids][]' -%>
      <%= label_tag :sub_category_ids, sc.name -%>
    </div>
  <% end -%>
<% end %>

根据注释中的交换,您似乎希望使用复选框将子类别对象指定给类别对象。如果是这样的话,你的关联应该是一个类别有很多子类别。那么您的表单将类似于:

<%= form_for @category ,:url=>{:action =>"create"} do |f| %>
 <%=f.text_field :category_name %>
 <% SubCategories.each do |sc| %>
    <div>
      <%= check_box_tag :sub_category_ids, sub_category_id, @category.sub_categories.include?(sc), :name => 'category[sub_category_ids][]' -%>
      <%= label_tag :sub_category_ids, sc.name -%>
    </div>
  <% end -%>
<% end %>

我想我遗漏了一点:您正在视图中呈现该类别的所有子类别,那么复选框的用途是什么?@miked用户将检查一个子类别,基本上是通过检查它,他正在选择它,所以稍后我们应该能够告诉用户选择了哪个子类别,选择它做了什么?假设你有一个类别,它已经有了子类别,子类别。您可以渲染表单。该表单显示了CategoryA的字段,只有子类别和子类别。每个子类别都有一个复选框-子类别上的复选框设置是什么属性?是否确实不希望为每个父类别窗体显示所有可能的子类别?如果选中/取消选中子类别,则会将选中的子类别分配/取消分配给父类别?是的,你是对的,这就是我想要的,并且我在类别模型中有一个名为“值”的字段,该字段将被分配/取消分配,但我不知道如何设置表单来实现这一点。我想我遗漏了一点:您正在视图中呈现该类别的所有子类别,那么复选框的用途是什么?@miked用户将检查子类别,基本上是通过选中它,他选择它,所以稍后我们应该能够告诉用户选择哪个子类别正确,选择它做什么?假设你有一个类别,它已经有了子类别,子类别。您可以渲染表单。该表单显示了CategoryA的字段,只有子类别和子类别。每个子类别都有一个复选框-子类别上的复选框设置是什么属性?是否确实不希望为每个父类别窗体显示所有可能的子类别?如果选中/取消选中子类别,则会将选中的子类别分配/取消分配给父类别?是的,你是对的,这就是我想要的,并且我在类别模型中有一个名为“值”的字段,该字段将被分配/取消分配,但我不知道如何设置表单来实现这一点。谢谢。如果我已经完成了很多,该怎么办,那我该怎么办?我不认为只要你的协会名称保持不变就有什么区别。i、 e.has\u many:sub\u categories,:through=>:whatevers谢谢。如果我has\u many通过了,我会怎么做?我认为只要你的协会名称保持不变,这不会有什么区别。i、 e.有很多子类,:通过=>:什么