使用每个视图在数据库上创建check_box并放置值和ID

我正在尝试为数据库中的每个ID显示一个复选框,这可能对我有帮助。按照我的代码尝试,但在同一check_box =“ id:1”,check_box“ id:2”中显示多个复选框

我想这样显示

<td> check_box="id1" value="false"</td> 
<td> check_box="id2" value="true"</td> 

如果要使用一个复选框,我也希望这样做 此已在Rails控制台上提交表单上选中:

Parameters: {"utf8"=>"✓","authenticity_token"=>"b3kaOUAgyJHqho70958585SVSv7a1Eo3Yd2z54=","@search_inactive"=>"30","true"}

Parameters: {"utf8"=>"✓","authenticity_token"=>"b3kaOUAgyJHqho70958585Sassaffdaaz=","@search_inactive"=>"29","false"}

我的视图:

<tr>
<td>
 <%= link_to "Answer","https://docs.google.com/forms/d/1WdpuW2pD-bqhlSmC77sWb3_nz56NAF-kHSh5--GkLnY/edit",:target => "_blank",:class => "btn_forms_gf" %>
  <td align="center">
  <%= form_for :app_changes,:url => {:controller => :user,:action => :show_search } do |f| %>
  <% @search_inactive.each do |p| %>
  <%= check_box_tag "@search_inactive",{},p.id %>
  <% end %>
  <%= link_to_function('Disable',"$('form').submit()",:app_changes => @show_search,:class => "btn_save") %>
  <% end %>
  </td>
  </tr>
<% end %>
<% end %>

“我的控制器”将呈现所有搜索无效和有效的页面

     def show_search
       @show_search_active = Search.find_by_sql("select * from search where active is true")
       @show_search_inactive = Search.find_by_sql("select * from search where active is false")
   render('/users/show_search_users',:layout => true)
   end
kchuan 回答:使用每个视图在数据库上创建check_box并放置值和ID

一种方法是为每个复选框输入同时使用hidden_field_tagcheckbox_tag来设置表单:

<%= form_for ...%>
  <% @search_inactive.each do |p| %>
    <%= hidden_field_tag "search_inactive[#{p.id}]",false %>
    <%= check_box_tag "search_inactive[#{p.id}]",true %> 
  <% end %>

  <% @search_active.each do |p| %>
    <%= hidden_field_tag "search_active[#{p.id}]",false %>
    <%= check_box_tag "search_active[#{p.id}]",true,true %> # true here to have it checked by default 
  <% end %>
<% end %>

现在,当您提交表单时,参数将如下所示:

{
  "search_inactive"=>{"2"=>"false","4"=>"false","71"=>"false","72"=>"false","73"=>"false","74"=>"false"},"search_active"=>{"102"=>"true","104"=>"true","171"=>"true","172"=>"true","173"=>"true","174"=>"true"}
}

未选中复选框时,额外的hidden_field_tag允许表单提交false。但是,如果用户在UI中选中了此复选框,则表单将提交trueRails usually does for you automatically when generating a form是个技巧,但是由于您是自己构建表单的,因此您需要显式包括hidden标签。

本文链接:https://www.f2er.com/3123575.html

大家都在问