ActiveAdmin batch_action模板错误,无更新

时间:2012-12-19 23:41:49

标签: ruby-on-rails activeadmin

我的ActiveAdmin注册模型有一个“活动”布尔字段。我希望包含一个批处理操作来一次“激活”多个记录。

我正在尝试按照以下说明操作:

http://activeadmin.info/docs/9-batch-actions.html

进行自定义批量操作,我遇到两个问题。

我有这个:

ActiveAdmin.register Venue do

  batch_action :deactivate do |selection|
    Venue.find(selection).each do |v|
      v.active = false
    end
  end
end

当我尝试激活某些内容时,我发现模板未找到错误。它正在寻找“batch_action”模板。我没有在该文档中看到有关需要添加模板的任何内容。如果我添加一个带有该名称的模板,则错误消失并显示模板......这当然不是我想要的。我希望它只是重新显示索引。

在任何一种情况下(有或没有模板),模型都不会更新。我可以在日志中看到它只是选择所选记录而不做任何其他操作。

1 个答案:

答案 0 :(得分:20)

我通过以下方式解决了这些问题:

batch_action :activate do |selection|
  Venue.find(selection).each do |v|
    v.active = true
    v.save
  end
  redirect_to :back  #this ensures any current filter stays active
end

“保存”部分似乎很明显,但是文档中的示例在我第一次尝试时就抛弃了我。对于文档来说,这似乎是一个更相关的例子。