Я пытаюсь сделать так, чтобы только администраторы могли добавлять приложения с использованием. Я получил работу в основном, но теперь, когда я зарегистрировался как администратор и отправлю форму регистрации, она возвращает меня с ошибкой: You are already signed in.
Позволяя администраторам добавлять пользователей с помощью Devise
Я попытался выполнить следующие инструкции здесь: http://wiki.summercode.com/rails_authentication_with_devise_and_cancan, но это похоже, не упоминает эту ситуацию.
Должен ли я сделать дальнейшее переопределение в editors_controller
, чтобы это можно было сделать?
Вот мои маршруты ("редактора" это имя моей пользовательской модели):
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" }
и мой editors_controller
в "приложении/контроллерах /"
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 I заметил это Processing by Devise::RegistrationsController#create as HTML
в журналах, когда я отправляю форму. Я подозревал, что, возможно, skip_before_filter :require_no_authentication
не вызывался, но предположил, что, поскольку EditorsController
наследовал от RegistrationController
, до того, как фильтр будет работать должным образом. Разве это не так?
привет Джереми, я пробовал творить действие, но он все еще обходит форму и лижет меня сообщением «Ты уже подписан». есть идеи? – BKSpurgeon