在Rails 4中生成复选框

时间:2015-03-30 10:56:37

标签: javascript html ruby-on-rails checkbox

我想根据选择值生成一些复选框。所以我有选择标签:



<%= f.collection_select :type, RequestType.order(:typeName), :id, :typeName,
 {include_blank:true }, {:class => "types"} %>
&#13;
&#13;
&#13;

当选择更改的值时,我想生成一些复选框,为此我有div:

&#13;
&#13;
<div id="sub_types"> </div>
&#13;
&#13;
&#13; 我想在哪里生成我的复选框

&#13;
&#13;
def show_sub_types
	@rtype = params[:id];
        @stypes = RequestSubType.where("request_type_id=?", @rtype).all
	 respond_to do |format|
  	 format.js
	 format.html
	end
end
&#13;
&#13;
&#13; 我的方法抓取所有子类型并将它们传递给js文件show_sub_types.js.erb

&#13;
&#13;
$("#sub_types").html("");
$("#sub_types").append("<%= j render 'show_sub_types', stypes: @stypes %>");
&#13;
&#13;
&#13; 在我的js文件中,我渲染部分show_sub_types.html.erb,我想在其中生成我的复选框:

&#13;
&#13;
<% stypes.each do |type| %>
	<%= check_box_tag "subtype", type.id %>
	<%= type.subTypeName %>
	<br>
<% end %>
&#13;
&#13;
&#13;

在我的部分我做这样的事情。 这段代码生成了我的复选框。它们看起来像那样:

&#13;
&#13;
<input type="checkbox" name="subtype" id="subtype" value="1">
&#13;
&#13;
&#13;

但现在我不知道如何使用我的表单提交这些复选框值。我想在db中将多个复选框值存储为数组。

1 个答案:

答案 0 :(得分:4)

请试试这个

<% stypes.each do |type| %>
  <%= check_box_tag 'stype_ids[]', type.id %>
  <%= type.subTypeName %>
  <br>
<% end %>