用户填入性别提交资料后不能再次更改

一、需求

用户在新建个人资料时,填写性别并提交后,以后不能更改

二、思路

1.添加条件判断,当前user资料中如果sex字段为空,用户可以选择
2.用radio或select来做下拉选项,用户可以选择性别为"男"或"女",写入到user的sex栏位中
在新建个人资料时让用户可以有性别选择,此时由于还没有向资料库中存入sex的值,因此sex的值为空
3.当用户将资料提交后,就会写入到资料库中,这时其对应的sex的内容已经不再是空了,那么就不给用户下拉选项,而是直接取出当前用户资料的sex值显示在页面上 ,就形成了用户无法修改性别的效果

三、代码

<h1>编辑用户资料</h1>
<%= form_for :user,url: user_path(@user),method: :put, html: {class: 'form-horizontal',id: "user_form"} do |f| %>

    <div class="col-lg-12">
      <%= f.label :"性别" %>
      <% if @user.sex.nil? %>
      <%= f.select :sex, {男: "男",女: "女"},required: true, value: @user.sex %>
    <% else %>
      <%= @user.sex %>
    <% end %>
  </div>
  
   <%= f.submit "提交" %>
  <% end %>

四、映射

除了让用户可以在填入性别提交资料后不能再次修改性别,我们还可以用这个思路来做一些其他小功能,如用不提交资料后不能修改"姓名","学号","专业"等等。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容