我想通了,我沒有想到明顯。通過設計限制用戶的路線,而不是設計 - 可邀請的。
使用Solution #2作爲參考(見下文)
讓我們假設你不希望允許註冊,但要允許更改密碼註冊用戶。只需粘貼在routes.rb中此代碼:
devise_for :users, :skip => [:registrations]
as :user do
get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration'
put 'users/:id' => 'devise/registrations#update', :as => 'user_registration'
end
然後你就可以使你的觀點,例如鏈接:
= link_to "Change your password", edit_user_registration_path
注意:您將需要更新默認制定相應的觀點,即在app/views/devise/registrations/edit.html.erb
變化registration_path(resource_name)
到user_registration_path(resource)
(如果使用多個型號共享視圖,您可以使用send("#{resource_name}_registration_path", resource))
注意:如果使用的是4.0或以上版本,你應該使用補丁,而不是放有更新的軌道,則應該更換T中的方法他form_tag居住在app/views/devise/registrations/edit.html.erb
和routes.rb
文件。
謝謝!我可能會考慮適當的位置或與我的路線修復。 – AGirlThatCodes 2014-12-05 18:48:23
再次感謝,我最終選擇了設計方案。 – AGirlThatCodes 2014-12-08 17:33:42