[Rails] 在devise註冊頁面中加入自訂欄位

Wendy Wu
W-Learning Note
Published in
3 min readSep 8, 2018

Devise是rails社群常用的使用者認證套件,還能產生html樣板,提供註冊、登入、修改密碼等頁面,註冊的頁面預設是這樣:

Default Sign up

那如果想要在註冊的時候,新增自定義的欄位,該怎麼做呢?

  • 首先,記得先在user下面利用migration增加需要的欄位,新增完後可以去db/schema.rb確認users下面是否有剛剛新增的欄位。
schema.rb
  • 至app/controllers/application_controller.rb加上permit additional parameters的設定(參考devise的說明
application_controller.rb
  • 至app/views/devise/registrations/new.html.erb,加上name的欄位
new.html.erb
  • 若要加入驗證name資料不能為空,可以參考validations的presense部分,在app/models/user.rb中加入
user.rb

這樣就完成在註冊頁面新增其他輸入欄位了!

Finish Sign up

其他參考資料:

https://ihower.tw/rails/auth.html

http://lichen-blog.logdown.com/posts/1830286

--

--