我期待完全關閉我的註冊系統(暫時),並且只有1個管理員帳戶可以被收入數據庫或種子。設計關閉註冊,但與管理員帳戶的種子數據庫
這對Devise來說可能嗎?或者關閉註冊也會關閉我的管理員用戶在其中的種子/耙子任務?
我目前有一個典型的devise設置用戶模型,其中管理列是一個布爾值 - 我目前正在開發中通過進入rails控制檯並手動更改它來設置該列。
任何幫助將輝煌!
由於
我期待完全關閉我的註冊系統(暫時),並且只有1個管理員帳戶可以被收入數據庫或種子。設計關閉註冊,但與管理員帳戶的種子數據庫
這對Devise來說可能嗎?或者關閉註冊也會關閉我的管理員用戶在其中的種子/耙子任務?
我目前有一個典型的devise設置用戶模型,其中管理列是一個布爾值 - 我目前正在開發中通過進入rails控制檯並手動更改它來設置該列。
任何幫助將輝煌!
由於
有詳細的步驟通過在步驟devise wiki;但基本上你可以跳過生成註冊路線:
devise_for :users, :skip => :registrations
這將使其成爲一個單一的用戶系統將使其無法註冊。
這需要使用種子文件或通過控制檯創建第一個用戶。
或者你可以創建自己的控制器來處理第一用戶的時候就自動註冊:
devise_for :users, :controllers => {:registrations => "registrations"}
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def create
if User.any?
redirect_to root_path, alert: 'Only one user allowed!' and return
end
super
end
end
除非你的種子/ rake任務是做一些很奇怪的像自動化網頁瀏覽器,然後將無
# Example of seeding an admin user:
admin = User.create_with(surename: 'Doe', forename: 'John').find_or_create_by(email: '[email protected]')
admin.add_role(:admin)
你應該能夠刪除註冊的色器件路線和在T仍然種子:在你的種子/耙的任務,因爲它們通常涉及直接操作通過模型數據庫,並沒有去,雖然控制器在所有影響他的用戶。那麼只要您仍然有會話的設計路線,該用戶就可以登錄/註銷。
https://github.com/plataformatec/devise/wiki/How-To:-Set-up-devise-as-a-single-user-system – max