当我想在Active Admin中的batch_action中使用lambda时出现问题。此错误仅在我使用lambda时出现,因为当我使用块时,错误消失但列表未更新。这是我的代码
batch_action :set_cohorts, form: -> {{cohort: Cohort.order(:name).pluck(:name, :id)}} do |ids, inputs|
cohort = Cohort.find(inputs[:cohort])
end
form do |f|
inputs 'Sección' do
f.semantic_errors
input :cohort, as: :select, collection: -> {Cohort.order(:name).pluck(:name, :id)}
input :name
input :position
input :active, as: :radio
end
f.actions
end
错误是
wrong number of arguments (given 1, expected 0)
欢迎任何建议。 TNKS !!
答案 0 :(得分:0)
要专门回答你的问题,这是一个没有太多更新的旧库,我希望不支持lambda,尽管proc{...}
应该没问题。至于列表未更新的原因我不清楚你的意图,通常batch_action块以redirect_to
结尾,例如。
redirect_to({action: :index}, {notice: 'Cohorts selected.'})
答案 1 :(得分:0)
我在Rails4.4.2中解决了该错误
wrong number of arguments (given 1, expected 0)
具有以下明显的解决方法
form_lambda = lambda do |id = nil|
# ...
end