如何自動將使用者資訊新增到表單


#1

在Rails裡讓使用者填表單都用 placeholder來提示輸入資訊,要如何讓表格一開始就自動載入顯示使用者裡已經填過的個人資料呢?例如name或email??


#2

form helper 系列都會餵入一個 object,類似 @user,然後重新包裝成 f,而 f 被賦予某個 columm name 時會把他當時的值填入,類似

<% @user = User.new %>
<% @user.name = 'yooo' %>
<%= form_for @user ...... do |f| %>
  <%= f.text_field :name %>
<% end %>

其中顯示的 text_field 的 value 就會是 ‘yooo’,當然你不開心還是可以用 html 來手工指定 value 的啦

& 請記得,@user 在這邊只要不儲存,只會拿來當作 build HTML 的依據,不會有任何修正 DB 的狀況就是,以上


#3

請問密碼也可以這樣處理嗎??


#4

任何欄位都可以,但是如果你的 password 欄在 Model 是有加密的,就沒辦法了哦


#5

機敏資料類的請別做蠢事,甚至很多欄位會希望不要這樣做的,或是用 *** 來做處理後的隱碼

大概就是希望系統癱瘓或是入侵時,個資還是不會流出去唄,更別說密碼欄位哩

至於其他的,你們可以參考

http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-text_field

還有

http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag

包成 HTML 結果一樣即可,裡面有一堆 example 可以參考,所以你想塞啥都可以哩