【发布时间】:2014-06-10 20:46:21
【问题描述】:
我发誓我已尽一切努力避免发布此问题。我整天都在研究这个问题。
每当我尝试删除多个用户或编辑单个用户时,我都会收到以下错误:
A NoMethodError occurred in users#update:
undefined method `find_or_create_by_id' for #<Class:0x00000006fed200>
app/admin/users.rb:34:in `block (2 levels) in <top (required)>'
基本上我有一个自定义的 users.rb 文件,内容如下:
app/admin/users.rb
ActiveAdmin.register User do
config.batch_actions = true
index do
selectable_column
actions defaults: true
column :id
column :name
column :email
column :current_sign_in_at
column :last_sign_in_at
column :sign_in_count
column :current_sign_in_ip
column :country
end
form do |f|
f.inputs "User Details" do
f.input :name
f.input :email
f.input :password
f.input :password_confirmation
f.input :superadmin, :label => "Super Administrator"
f.input :ip_address
end
f.actions "User Details2" do
f.action :submit, :as => :button
f.action :cancel, :as => :link
end
end
create_or_edit = Proc.new {
@user = User.find_or_create_by_id(params[:id])
@user.superadmin = params[:user][:superadmin]
@user.attributes = params[:user].delete_if do |k, v|
(k == "superadmin") ||
(["password", "password_confirmation"].include?(k) && v.empty? && !@user.$
end
if @user.save
redirect_to :action => :show, :id => @user.id
else
render active_admin_template((@user.new_record? ? 'new' : 'edit') + '.htm$
end
}
member_action :create, :method => :post, &create_or_edit
member_action :update, :method => :put, &create_or_edit
end
我已经尝试了所有我能想到的...查看了所有类似的线程...我一无所获。那么有人知道吗?
【问题讨论】:
标签: ruby-on-rails-4 activeadmin