一鹰贵、需求
用戶在新建個人資料時康嘉,填寫性別并提交后碉输,以后不能更改
二、思路
1.添加條件判斷亭珍,當前user資料中如果sex字段為空腊瑟,用戶可以選擇
2.用radio或select來做下拉選項,用戶可以選擇性別為"男"或"女"块蚌,寫入到user的sex欄位中
在新建個人資料時讓用戶可以有性別選擇闰非,此時由于還沒有向資料庫中存入sex的值,因此sex的值為空
3.當用戶將資料提交后峭范,就會寫入到資料庫中财松,這時其對應(yīng)的sex的內(nèi)容已經(jīng)不再是空了,那么就不給用戶下拉選項纱控,而是直接取出當前用戶資料的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 %>
四舶掖、映射
除了讓用戶可以在填入性別提交資料后不能再次修改性別,我們還可以用這個思路來做一些其他小功能尔店,如用不提交資料后不能修改"姓名"眨攘,"學號"主慰,"專業(yè)"等等。