加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – Rails:form_for复选框设置为true或false,是否选中/取消

发布时间:2020-12-14 22:25:19 所属栏目:资源 来源:网络整理
导读:我有一个名为users的模型,它具有2个布尔属性send_email和send_text。我有一个窗体编辑用户模型,我希望它将这些属性设置为true / false,这取决于框是否被检查/取消选中。这是我的表格 %= form_for(@user) do |f| % div class="field" %= f.label :email %
我有一个名为users的模型,它具有2个布尔属性send_email和send_text。我有一个窗体编辑用户模型,我希望它将这些属性设置为true / false,这取决于框是否被检查/取消选中。这是我的表格
<%= 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,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 %>

这里是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

解决方法

当您的表单对对象进行操作时,Rails会为您执行此操作,只需将所有额外的东西从标签中移除:
<div class="field">
    <%= f.label "Get Email" %> <br />
    <%= f.check_box :send_email %> <br />
</div>

所有这些都应该按照你的期望开始工作。如果属性为true,复选框将被勾选,反之亦然,当您提交表单时会影响该属性。其余的代码很好。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读