默认设计用户在ActiveAdmin中的集成

时间:2013-02-18 09:46:34

标签: ruby-on-rails 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

然后按照shell提供的说明进行操作。

我现在在ActiveAdmin中有AdminUsers。然后我为Devise生成了一个User模型:

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作为标准,开箱即用的组件,如Django有管理界面和用户模型:/

1 个答案:

答案 0 :(得分: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

希望这有帮助