Интеграция пользователей Devise по умолчанию в ActiveAdmin

Я хочу в своем приложении AdminUsers и обычных пользователей. Каков наилучший способ получить это?

Что я пробовал, так это. Я начал с совершенно нового приложения rails

rails new testadmin

добавил ActiveAdmin в Gemfile

gem 'activeadmin'
gem 'sass-rails'
gem "meta_search",    '>= 1.1.0.pre'

И создайте интерфейс администратора

rails generate active_admin:install

затем следуя инструкциям, предоставленным оболочкой.

Теперь у меня есть AdminUsers в ActiveAdmin. Затем я создал модель пользователя для Devise:

rails generate devise User
rake db:migrate

и добавил его в интерфейс администратора

rails generate active_admin:resource User

Кажется, это работает, поскольку теперь у меня есть модная страница пользователя с фильтрами и возможностью добавить нового пользователя, но всякий раз, когда я пытаюсь добавить его (устанавливая адрес электронной почты и пароль), я получаю следующее исключение:

ActiveModel::MassAssignmentSecurity::Error in Admin::UsersController#create

Can't mass-assign protected attributes: encrypted_password, reset_password_token, reset_password_sent_at(1i), reset_password_sent_at(2i), reset_password_sent_at(3i), reset_password_sent_at(4i), reset_password_sent_at(5i), remember_created_at(1i), remember_created_at(2i), remember_created_at(3i), remember_created_at(4i), remember_created_at(5i), current_sign_in_at(1i), current_sign_in_at(2i), current_sign_in_at(3i), current_sign_in_at(4i), current_sign_in_at(5i), last_sign_in_at(1i), last_sign_in_at(2i), last_sign_in_at(3i), last_sign_in_at(4i), last_sign_in_at(5i), current_sign_in_ip, last_sign_in_ip

Как получить то, что мне нужно? Спасибо

PS: я очень надеюсь, что они добавят ActiveAdmin и Devise в стандартную комплектацию, готовые компоненты для Rails, такие как Django, имеет свой интерфейс администратора и пользовательскую модель:/


person pistacchio    schedule 18.02.2013    source источник


Ответы (1)


Вам нужно ввести attr-accessible из модели User. Введите это в app/admin/user.rb

form do |f|
  f.inputs do
    f.input :email
    f.input :password
    f.input :password_confirmation
  end
  f.buttons
end

Надеюсь это поможет

person benchwarmer    schedule 18.02.2013