【问题标题】:Default Devise users integration in ActiveAdminActiveAdmin 中的默认设计用户集成
【发布时间】:2013-02-18 09:46:34
【问题描述】:

我想在我的应用程序中使用 AdminUsers 和普通用户。最好的方法是什么?

我尝试的是这个。我从一个全新的 Rails 应用开始

rails new testadmin

将 ActiveAdmin 添加到 Gemfile

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

并生成管理界面

rails generate active_admin:install

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

我现在在 ActiveAdmin 中有 AdminUsers。然后我为 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 添加为标准,像 Django 这样的 Rails 开箱即用组件有它的管理界面和用户模型:/

【问题讨论】:

    标签: ruby-on-rails devise activeadmin


    【解决方案1】:

    您需要从User 模型中输入attr-accessible。将此输入app/admin/user.rb

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多