ActiveAdmin错误:没有超类方法`按钮'

时间:2012-04-10 11:19:29

标签: ruby-on-rails ruby ruby-on-rails-3 activeadmin

我从Rails开始(我也是Python的Ruby -coming的新手),我当前正试图设置ActiveAdmin for Rails 3.2.3(Ruby 1.9.3)。 我正在关注this guide,但我无法正常运行它。当我运行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>

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

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

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

6 个答案:

答案 0 :(得分:39)

这个答案是针对formtastic 2.2.0,2012年被问到

似乎formtastic 2.2.0(今天发布)打破了active_admin,因为active_admin需要formtastic&gt; = 2.0.0 ...放入你的Gemfile这个

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

然后运行

bundle update formtastic

然后重启你的服务器(如果你运行它)..

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

答案 1 :(得分:16)

我遇到了同样的问题而且它已经杀了我几个小时。

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

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

我刚刚使用了&#34; f.actions&#34;而不是&#34; f.buttons&#34;

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

它对我有用。

答案 2 :(得分:1)

我在gemfile中进行了以下更改

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

您是否运行'bundle'命令来获取必要的gem和dependancies(ActiveAdmin,Formtastic等)? 启动rails时这是一个常见的错误。

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