我开始使用Rails (而且我也是Python中的Ruby -的新手),目前我正在尝试为Rails 3.2.3 ( -coming 1.9.3)设置ActiveAdmin。我正在关注this guide,但我无法正确运行它。当我运行访问localhost:3000/admin的rails s命令时,我得到
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发布于 2012-04-10 23:11:57
用于Rails 4+的
如果您运行的是Rails 4+,请使用f.actions而不是f.buttons。这里有一个关于ActiveAdmin repo 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然后重新启动您的服务器(如果您正在运行它)。
而且应该可以正常工作。
发布于 2013-12-12 11:39:03
我也遇到了同样的问题,这让我的时间缩短了大约几个小时。
我使用的是Rails4和active admin form 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这对我很管用。
发布于 2012-04-11 00:05:26
我在gemfile中做了以下更改
gem 'activeadmin','0.4.2‘gem 'formtastic','2.0.0’
并解决了.the格式2.2.0与activeadmin当前版本不兼容的相同issue.reason
https://stackoverflow.com/questions/10087737
复制相似问题