--- title: 12th 鐵人賽 Day_17 devise view? & helper? tags: 12th 鐵人賽 --- # 12th 鐵人賽 Day_17 devise view? & helper? 嗨!各位朋友大家好,打給後,歹嘎吼,胎尬喉,我是阿圓,今天進入了第17,存貨快用完了,只好請出這張one piece:  昨天講完了 devise 的 controller 跟 strong_parameter,今天要來介紹生出view的頁面,以及使用 devise 時,常用的 helper 或 method: ## 建立devise view 使用`$ rails g devise:views` 指令 ,會把所有的view都長出來;但Devise 預設是所有model共用一組views,若想特別指定某個model的view: ```ruby= # 在config/initializers/devise.rb config.scoped_views = true ``` ```bash= $ rails generate devise:views users ```  預設會有這麼多! 若不想做出上面那麼多,可以用`-v`來指定要哪一個模塊(module)的view: ```bash= $ rails generate devise:views -v registrations confirmations ``` 那就只會長出下面這樣:  --- ## 好用的helper [手冊](https://bre.is/wkEAfGmu) devise 提供了很多helper,可以參閱上面手冊,這邊列出幾個比較常用的 1. **authenticate_user!** 可驗證使用者是否有權限,否則轉址 2. **user_signed_in?** 會去檢查此時使用者是否有session,回傳布林值 3. **current_user** 撈出現在的使用者資料 4. **user_session** 得到user現在的session 可以在 controller 裡使用的方法 1. **after_sign_in_path_for(resource_or_scope) ⇒ Object** 2. **after_sign_out_path_for(resource_or_scope) ⇒ Object** 定義使用者登入、登出後,轉址去哪裡 3. **devise_controller? ⇒ Boolean** 判斷controller是否為devise_controller 4. **devise_parameter_sanitizer ⇒ Object** 上面兩個配合修改permit使用,請參考下方[strong_parameters](##strong_parameters) 5. **devise_group(group_name, opts = {}) ⇒ Object** 可以將不同的 model 群組起來,example: ```ruby= Class BlogsController devise_group :blogger, contains: [:user, :admin] ``` 看到這裡,是不是覺得 devise 超好用啊,就可以省下一堆的時間。 好啦,devise就介紹到這邊(我好像越來越混了QQ),明天我們繼續回到部落格的部分,感謝各位看到這邊,若有任何建議,請各位不吝指教!我們明天見! 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up