17

我从 Rails 开始(我也是来自 Python 的 Ruby 新手),我目前正在尝试为 Rails 3.2.3(Ruby 1.9.3)设置 ActiveAdmin。我正在遵循本指南,但我无法正确运行它。当我运行rails s命令访问时,localhost:3000/admin我得到

NoMethodError in Active_admin/devise/sessions#new

Showing /home/lex/.rvm/gems/ruby-1.9.3-p125/gems/activeadmin-0.4.3/app/views/active_admin/devise/sessions/new.html.erb where line #11 raised:

super: no superclass method `buttons' for #<ActiveAdmin::FormBuilder:0xb429ae0>

我在谷歌上找不到任何有用的东西,这里有什么问题?

如果您需要有关此异常的更多信息,请告诉我。

Extracted source (around line #11):

8:       f.input :password
9:       f.input :remember_me, :as => :boolean, :if =>  false  #devise_mapping.rememberable? }
10:     end
11:     f.buttons do
12:       f.commit_button "Login"
13:     end
14:   end
4

6 回答 6

39

对于 Rails 4+

如果您正在运行 Rails 4+,请使用f.actions而不是f.buttons. 这是一个在 ActiveAdmin 存储库中讨论此更改的问题https://github.com/activeadmin/activeadmin/issues/1085

2012年OP问题的原始答案

似乎 formtastic 2.2.0(今天发布)打破了 active_admin 并且由于 active_admin 需要 formtastic >= 2.0.0 ... 放入你的 Gemfile 这个

gem "formtastic", "~> 2.1.1"
gem "activeadmin", "~> 0.4.3"

然后运行

bundle update formtastic

然后重新启动您的服务器(如果您正在运行)..

并且应该可以正常工作...

于 2012-04-10T15:11:57.040 回答
18

我有同样的问题,它杀死了我大约几个小时。

我正在使用 rails 4 和活动管理员表单 master git:

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

我只是使用“f.actions”而不是“f.buttons”

form do |f|
  f.inputs "Enter Todo details" do
    f.input :quote_id, :as => :select, :collection => Quote.all.map {|q| [ q.contact,q.id]}, :include_blank => false 
    f.input :name, :label => "Name of customer"
    f.input :state, :as => :select, :collection => ['Active','Closed'], :include_blank => false
    f.input :moving_date
    f.input :revisit
    f.input :address
    f.input :status
  end
  f.actions
end

它对我有用。

于 2013-12-12T03:39:02.837 回答
1

我已经完成了 gemfile 中的更改

宝石'activeadmin','0.4.2'宝石'formtastic','2.0.0'

它解决了同样的问题。原因与上面解释的相同。formtastic 2.2.0 与 activeadmin 当前版本不兼容

于 2012-04-10T16:05:26.347 回答
1

我按照上面的说明进行操作,但同样的错误不断出现。它在我关闭并重新打开后自行解决rails server,但只是给遇到此问题的其他人的说明;确保重新启动服务器。:)

于 2012-04-11T04:27:25.883 回答
0

您是否运行了“bundle”命令来获取必要的 gem 和依赖项(ActiveAdmin、Formtastic 等)?这是启动rails时的常见错误。

于 2012-04-10T12:53:27.043 回答
0

我继承了一个在 2012 年 7 月左右编写的项目,该项目使用 ActiveAdmin 0.4.0 和formtastic-bootstrap(关闭 Git)。

由于那个版本的 AA 中的 URL 生成错误,我升级到 0.5.0,但现在我得到了超类错误。任何人都知道我应该如何处理这条线:

gem 'formtastic-bootstrap',   :git => "git://github.com/cgunther/formtastic-bootstrap.git", :branch => "bootstrap-2"
于 2013-03-04T02:45:14.397 回答