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

一、需求

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

二、思路

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

三、代码

编辑用户资料

<%= form_for :user,url: user_path(@user),method: :put, html: {class: 'form-horizontal',id: "user_form"} do |f| %>
<%= f.label :"性别" %> <% if @user.sex.nil? %> <%= f.select :sex, {男: "男",女: "女"},required: true, value: @user.sex %> <% else %> <%= @user.sex %> <% end %>
<%= f.submit "提交" %> <% end %>

四、映射

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

你可能感兴趣的:(用户填入性别提交资料后不能再次更改)