簡體   English   中英

使用 each 和 puts value 和 id 從數據庫創建 check_box

[英]Create check_box from database on view using each and puts value and 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控制台上的提交表單上選中的一個check_box放置,我也想要這個:

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 %>

我的 Controller 以呈現所有搜索不活動和活動的頁面

     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

一種方法是為每個復選框輸入設置一個hidden_field_tag和一個checkbox_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 中選中了該復選框,則表單將提交true 這是Rails 通常在生成表單時自動為您做的一個技巧,但由於您自己構建表單,您需要顯式包含隱藏標記。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM