Tôi đang cố gắng làm cho quản trị viên chỉ có thể thêm các công dụng bằng cách nghĩ ra. Tôi đã nhận được nó chủ yếu là làm việc tuy nhiên bây giờ khi tôi đăng nhập như một quản trị viên và gửi mẫu đăng ký nó đá tôi trở lại với lỗi: You are already signed in.
Cho phép quản trị viên thêm người dùng với Devise
Tôi đã cố gắng làm theo các hướng dẫn ở đây: http://wiki.summercode.com/rails_authentication_with_devise_and_cancan nhưng nó dường như không đề cập đến tình huống này.
Tôi có cần thực hiện việc ghi đè cao hơn trong số editors_controller
để cho phép điều này không?
Dưới đây là tuyến đường của tôi ("biên tập" là tên của mô hình của tôi sử dụng):
devise_for :admins, :skip => [:registrations]
as :admin do
get 'admin/editors' => 'editors#index', as: :admin_editors
get 'admin/editors/new' => 'editors#new', as: :new_editor
delete 'admin/editors/:id' => 'editors#destroy', as: :destroy_editor
end
devise_for :editors, :skip => [:registrations], :controllers => { :registrations => "editors" }
và editors_controller
của tôi trong "app/controllers /"
class EditorsController < Devise::RegistrationsController
before_filter :check_permissions, :only => [:new, :create, :cancel]
skip_before_filter :require_no_authentication
def dashboard
render "editors/dashboard.html.haml"
end
def index
@editors = Editor.all
respond_to do |format|
format.html
end
end
private
def check_permissions
authorize! :create, resource
end
end
EDIT tôi nhận thấy số này Processing by Devise::RegistrationsController#create as HTML
trong nhật ký khi tôi gửi biểu mẫu. Tôi đã nghi ngờ rằng có lẽ skip_before_filter :require_no_authentication
không được gọi, nhưng giả định rằng vì EditorsController
được kế thừa từ RegistrationController
trước khi bộ lọc hoạt động đúng cách. đây không phải là trường hợp à?
hello Jeremey Tôi đã thử hành động tạo của bạn nhưng nó vẫn bỏ qua biểu mẫu và trả lời tôi bằng thông báo "Bạn đã đăng nhập". bất kỳ ý tưởng? – BKSpurgeon