使用 Rails 4 进行主动管理员安装

Posted

技术标签:

【中文标题】使用 Rails 4 进行主动管理员安装【英文标题】:Active admin install with Rails 4 【发布时间】:2013-05-01 20:10:38 【问题描述】:

在 Rails 4 上安装活动管理员时出现此错误

Bundler could not find compatible versions for gem "actionpack":
In Gemfile:
  meta_search (>= 1.1.0.pre) ruby depends on
    actionpack (~> 3.1.0.alpha) ruby

  rails (= 4.0.0.rc1) ruby depends on
    actionpack (4.0.0.rc1)

我遵循以下说明: http://www.activeadmin.info/docs/documentation.html

请大家帮忙。

【问题讨论】:

请尝试下面的答案。如果它适合你,请接受答案。 【参考方案1】:

2016 年 1 月 11 日更新答案

ActiveAdmin 现在有 Rails 4 全面支持

1.0.0版本,全面支持Rails 4):

gem 'activeadmin', github: 'activeadmin'


0.6 稳定版(可能无法正确支持 Rails 4):

gem 'activeadmin', github: 'activeadmin', branch: '0-6-stable'

【讨论】:

【参考方案2】:

2015 年 4 月 20 日更新

对于 Rails 4(根据 official github page),请使用任一 master:

gem 'activeadmin', github: 'activeadmin'

或红宝石:

gem 'activeadmin', '~> 1.0.0.pre1'

2015 年 2 月 14 日更新

对于 Rails 4(根据 official github page)使用:

gem 'activeadmin', github: 'activeadmin'

2014 年 9 月 4 日更新

对于 Rails 4.0 和 4.1(根据 official github page)使用:

gem 'activeadmin', github: 'activeadmin'

2014 年 4 月 24 日更新

对于 Rails 4.1 和 4.0 使用 master:

gem 'activeadmin', github: 'gregbell/active_admin'

2014 年 4 月 13 日更新

对于 Rails 4.1,使用 master 和以下依赖分支:

gem 'activeadmin', github: 'gregbell/active_admin'
gem 'polyamorous', github: 'activerecord-hackery/polyamorous'
gem 'ransack', github: 'activerecord-hackery/ransack'
gem 'formtastic', github: 'justinfrench/formtastic'

对于 Rails 4.0.X,只需使用 master 就可以了:

gem 'activeadmin', github: 'gregbell/active_admin'

注意:在 Rails 4.1 中将 cmets 添加到索引页面存在问题。正在跟踪此问题here。

2013 年 9 月 29 日更新

Rails 4 分支已合并到 master。现在您需要做的就是指定:

gem 'activeadmin', github: 'gregbell/active_admin'

2013 年 8 月 28 日更新答案

能够构建一个新的 Rails 4 应用程序并使用 AA 运行,只需使用:

gem 'activeadmin', github: 'gregbell/active_admin', branch: 'rails4'

请忽略旧答案。只需将此行添加到您的新 rails 4 应用程序 Gemfile,运行 bundle install,运行 rails g active_admin:install,运行 rake db:migrate,运行 bundle exec rails s,转到 /admin,然后使用 admin@example.com/password 登录,一切顺利!详情请见ActiveAdmin Documentation。

2013 年 6 月 30 日更新答案

在为 Rails 4 准备好 ActiveAdmin 和它所依赖的 gem 方面取得了很大进展。请使用以下 gemfile 设置并忽略有关将 jquery-rails 降级到 2.3.0 的内容:

gem 'devise',              github: 'plataformatec/devise'
gem 'responders',          github: 'plataformatec/responders'
gem 'inherited_resources', github: 'josevalim/inherited_resources'
gem 'ransack',             github: 'ernie/ransack'
gem 'activeadmin',         github: 'gregbell/active_admin', branch: 'rails4'
gem 'formtastic',          github: 'justinfrench/formtastic'

只需bundle install(或bundle update,如有必要)并运行rails generate active_admin:install(如有必要)进行安装


原答案

我使用以下方法在我的 Rails 4.0.0.rc1/JRuby/Puma 应用程序上启动 ActiveAdmin 并在 Heroku 上运行。

从 ActiveAdmin github 中查看以下链接后:

Re: Rails 4 problems - Issue #1963

Rails 4 Hacks, Fixes - Pull Request #2120

我在 gemfile 中添加了以下内容:

gem 'devise',              github: 'plataformatec/devise',     branch: 'rails4'
gem 'responders',          github: 'plataformatec/responders'
gem 'inherited_resources', github: 'josevalim/inherited_resources'
gem 'ransack',             github: 'ernie/ransack'
gem 'activeadmin',         github: 'akashkamboj/active_admin', branch: 'rails4'
gem 'formtastic',          github: 'justinfrench/formtastic', branch: 'rails4beta'

替换:

gem 'jquery-rails', '3.0.0'

与:

gem 'jquery-rails', '2.3.0'

bundle install 并运行rails generate active_admin:install 进行安装。

启动服务器,转到 root_url/admin,您应该会看到管理员登录。

【讨论】:

这对我有用,我对最新的 jquery-rails 也有问题。但是通过指定小于 3.0.0 的版本克服了这个问题。 伟大的收获!刚刚创建了一个新应用程序,看起来 ActiveAdmin 的 0.6.0 版本不能很好地与 jquery-rails 3.0.0 配合使用。更新了我上面的答案,将 jquery-rails 设置为 2.3.0。 这对我不起作用。我遇到了冲突:activeadmin (>= 0) ruby depends on actionpack (~> 4.0.0) rubyinherited_resources (>= 0) ruby depends on actionpack (3.2.13) 运行 rails g active_admin:install 后需要运行 rails db:migrate 才能访问 /admin @Attilio - 根据您的要求更新!【参考方案3】:

只需编辑您的 Gemfile。 这就是您的 ActiveAdmin 1.0.0 所需要的一切,可与 Rails 4.1

一起正常工作

添加以下行:

gem 'activeadmin',      github: 'gregbell/active_admin'             # ActiveAdmin backend framework for Rails administration interface
gem 'polyamorous',      github: 'activerecord-hackery/polyamorous'  # Require for ActiveAdmin to work with Rails 4.1
gem 'ransack',          github: 'activerecord-hackery/ransack'      # Require for ActiveAdmin to work with Rails 4.1
gem 'formtastic',       github: 'justinfrench/formtastic'           # Require for ActiveAdmin to work with Rails 4.1
gem 'devise'                                                        # Authentication

【讨论】:

dPanda13:按照您的步骤操作,但是当我启动服务器 ***.com/questions/24902445/… 时出现此错误。有什么想法吗? dPanda13 按照您的步骤操作,但我收到此错误***.com/questions/24902445/… 任何想法? 这不再需要了。【参考方案4】:

感谢Marc 和Oto Brglez 的帮助。 rails 4 实现的快速更新。您不需要使用分支'0-6-stable'(即今天的当前分支),您可以使用 master 分支,如 gregbell 的 github 上的文档中所述。 https://github.com/gregbell/active_admin

【讨论】:

【参考方案5】:

我已切换到 Ubuntu,这解决了我遇到的问题。出于某种原因,Windows 在尝试获取不在 Ruby 源中的 gem 时会阻塞。

【讨论】:

以上是关于使用 Rails 4 进行主动管理员安装的主要内容,如果未能解决你的问题,请参考以下文章

使用活动管理员删除索引视图中的列

Rails:仅管理员维护模式

如何使用 Rails 在 MongoDB 中验证跨模型的唯一性?

使用 Rails 4 的 Paypal 电子邮件验证

单表继承 活动管理模型映射问题 rails 4

从头开始安装redmine项目管理软件