根据页面加载时模型中的值,将复选框设置为选中或取消选中

时间:2016-03-05 18:23:38

标签: ruby-on-rails ruby

假设我在表单上有一个复选框

 <%= check_box_tag(:monday) %>

提交后,复选框会更新模型。当用户加载页面时,我希望检查复选框是否为'monday'的模型值为true,如果模型值为false则不选中。

我倾向于一个帮助方法,它会为值返回true或false,这应该是直截了当的,但是如何从视图中调用该方法并在页面加载时获得true / false值?< / p>

编辑:

<%= form_for @recur_breakfast_plate, url: update_recur_breakfast_plate_path do |f| %>
                  </br>
                  <div class='field form-group'>
                    <div class='checkbox-inline'>
                      <%= check_box_tag(:monday) %>
                      <%= label_tag(:monday, "Monday") %>
                    </div>

                    <div class='checkbox-inline'>
                      <%= check_box_tag(:tuesday) %>
                      <%= label_tag(:tuesday, "Tuesday") %>
                    </div>

                    <div class='checkbox-inline'>
                      <%= check_box_tag(:wednesday) %>
                      <%= label_tag(:wednesday, "Wednesday") %>
                    </div>

                    <div class='checkbox-inline'>
                    <%= check_box_tag(:thursday) %>
                    <%= label_tag(:thursday, "Thursday") %>
                    </div>

                    <div class='checkbox-inline'>
                      <%= check_box_tag(:friday) %>
                      <%= label_tag(:friday, "Friday") %>
                    </div>
                    <%= f.submit "Submit", class: "btn btn-xs btn-success" %>

                  </div>
 <% end %>

与问题^

相关联的form_for

1 个答案:

答案 0 :(得分:1)

默认情况下,Rails应该在编辑操作之前执行的before_action中设置 @recur_breakfast_plate。这样所有字段都具有正确的值。

无论如何你可以尝试

<%= check_box_tag :day, @recur_breakfast_plate.day %>