我有一个名为 users 的模型,它有 2 个布尔属性send_email
和send_text
. 我有一个编辑用户模型的表单,我希望它将这些属性设置为真/假,具体取决于该框是否被选中/取消选中。这是我的表格
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :email %> <br />
<%= f.text_area :email %> <br />
</div>
<div class="field">
<%= f.label :cell %> <br />
<%= f.text_area :cell %> <br />
</div>
<div class="field">
<%= f.label "Get Email" %> <br />
<%= f.check_box :send_email, {}, true, false %> <br />
</div>
<div class="field">
<%= f.label "Get Text" %> <br />
<%= f.check_box :send_text, {}, true, false %> <br />
</div>
<div class="actions">
<%= f.submit "Submit", class: "button small radius" %>
<%= link_to "go back", @user, class: "button small radius secondary" %>
</div>
<% end %>
这update
是user_controller
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user])
redirect_to @user
end
表单和更新看起来很完美,但是当我提交此表单并选中 send_email 或 send_text 框时,它不会将用户模型(send_email,send_text)的属性更改为 false