即時通訊使用'設計'創業板上的軌道3.1.1應用程序創建用戶和登錄,但我需要添加字段的配置文件作爲@ user.build_profile,但我不知道在哪裏要添加此項,我還需要在登錄後更改默認的redirect_to。設計寶石,添加建設者,並改變redirect_to
0
A
回答
1
您可以像正常情況下通過遷移一樣將所需的字段添加到模型中。如果您通過rails generate devise:views
使用默認設計視圖,那麼您需要將您的字段添加到設計中的註冊視圖內部的new
和edit
視圖中。
至於更改sign_in後的默認重定向,我會開始閱讀Devise Wiki。您可以簡單地添加到您的應用程序控制器:
protected
def stored_location_for(resource)
nil
end
def after_sign_in_path_for(resource)
#path to which you wish to redirect
end
end
這將允許您自定義該路線。您還可以查看設計中的註冊控制器,以查看可以覆蓋的其他方法。
編輯:
重寫控制器:
你會創建自己的控制器,從Devise::RegistrationsController
繼承。從那裏你只需要指定你需要重寫的方法,而不是每一個。例如:
def create
build_resource
resource.build_profile
if resource.save
set_flash_message :notice, :signed_up
redirect_to after_sign_up_path_for(resource)
else
clean_up_passwords(resource)
render_with_scope :new
end
end
然後添加上述線stored location
和after_sign_in_path
。你還必須告訴Devise在你的routes.rb
中使用你的新控制器,devise_for :users, :controllers => { :registrations => 'your_controller_name }
我在我的博客上有一個這樣的例子,完整的源代碼在Github上。
1
,或者你只是覆蓋build_resource
def build_resource *a, &b
super
resource.build_profile
end
相關問題
- 1. 設計紅寶石
- 2. 設計寶石和Geocoder寶石
- 3. 如何修改設計寶石?
- 4. Rails:設計寶石密碼加密
- 5. 設計寶石和jquery
- 6. 紅寶石Rails4和設計
- 7. Spree_auth_devise寶石與設計
- 8. 紅寶石設計問題
- 9. RJS與設計寶石
- 10. 如何設計紅寶石
- 11. 設計懸浮寶石
- 12. 寶石設計入門?
- 13. 紅寶石陣建設
- 14. 設計寶石:在最初的添加模塊安裝
- 15. 如何在設計寶石中登錄後添加用戶?
- 16. 顯示作者的名字與設計寶石(Rails 3)
- 17. 無法在軌道上使用紅寶石Sign_out設計寶石
- 18. 生成模型後紅寶石寶石設計錯誤
- 19. 設計與omniauth - 谷歌 - 的oauth2寶石
- 20. 設計紅寶石激光認證
- 21. 自定義設計寶石(Rails)
- 22. 設計寶石和兩個步驟
- 23. Rails:設計寶石是否安全?
- 24. Rails 4與MailCatcher和設計寶石
- 25. 紅寶石組成/設計窘境
- 26. 紅寶石抽象類設計
- 27. 紅寶石界面式設計圖案
- 28. 設計寶石中的路由錯誤?
- 29. Ruby on Rails的設計寶石
- 30. 設計寶石註冊模型問題
我需要從使用嵌套屬性 – jtomasrl
另一個模型添加fiels所以你要確保你的用戶模型'accepts_nested_attributes_for:profile'。然後您需要重寫Devise註冊控制器以使用'@ user.profile.build'來創建您自己的創建操作,顯然會在用戶和配置文件之間創建適當的關係。 – janders223
這是問題。我如何覆蓋控制器 – jtomasrl