Как получить значение ha sh из check_box? - PullRequest
0 голосов
/ 05 мая 2020

Я хочу получить значение «0» (не отмечено) или «1» (отмечено) из check_box и сохранить его как значение ha sh. Но никакое значение не может быть сохранено ... paper: nil Я создал столбец "paper" как целое число. Может ли кто-нибудь мне помочь?

Вот мой код:

Просмотр:

<div class="formgroup">
  <%= f.label :paper, "Paper_Collection" %>
  <% @paper.each do |key, value| %>
  <div class="checkbox" >
    <%= f.check_box :paper, {checked: false, multiple: true}, value == "1" ? "checked" : "" %><%= key %>
  </div>
  <% end %>
</div>

Контроллер:

def new
  @box = Box.new
  @paper = {red: 0, blue: 0, yellow: 0, green: 0, black: 0, white: 0}
....
end
def create
  @box = Box.new(box_params)
  @box.user_id = current_user.id
  @paper = {red: 0, blue: 0, yellow: 0, green: 0, black: 0, white: 0}
...
end
private
 def box_params
  params.require(:box).permit(:status, :paper, :cable, reports: [])
 end

1 Ответ

0 голосов
/ 05 мая 2020

Я не уверен, что вы хотите получить и как вы хотите сохранить это ha sh в виде целого числа в таблице, но:

def new
  @box = Box.new
  @paper = {red: 0, blue: 0, yellow: 0, green: 0, black: 0, white: 0}
....
end

и в форме:

<%= f.fields_for :paper do |paper_fields| %>
  <div class="formgroup">
    <%= paper_fields.label :paper, "Paper_Collection" %>
      <% @paper.each do |key, value| %>
        <div class="checkbox" >
          <%= paper_fields.label key %>
          <%= paper_fields.check_box key, checked: value == 1 %>
        </div>
      <% end %>
    <% end %>
  </div>
<% end %>

должен дать вам такие параметры, как:

{ "box" => { "paper" => { "red" => "0", "blue"=>"0", "yellow"=>"1", ... } } }

, так что я думаю, это то, что вы ищете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...