ActiveAdmin 中的自定义按钮

Custom button in ActiveAdmin

在 ActiveAdmin 上,我有一个这样的表格: 请注意,"My thingy" 不在 DB 上,而是使用 API 中的数据计算得出的。

我想为此字段添加过滤器。我想要的是将此 abc 文本作为参数发送到我所在的同一编辑操作。

我的表单如下所示:

form do |f|
  f.inputs "Details" do
    f.input :my_thingy,
      label: 'My thingy',
      as: :select,
      collection: my_thingys,
    f.input :my_thingy_filter, label: "Filter My thingy by..."
    f.button :filter
  end
  f.actions
end

我想要的是将此按钮重定向到同一页面,并将 my_thingy_filter 的值作为参数。

我该怎么做?

我使用 member_action 解决了这个问题:

member_action :thingy_filter, method: :patch do
  redirect_to edit_thingy_path(resource, thingy_filter: params["thingy"]["thingy_filter"])
end

formaction 按钮:

form do |f|
  f.inputs "Details" do
    f.input :my_thingy,
      label: 'My thingy',
      as: :select,
      collection: my_thingys,
    f.input :my_thingy_filter, label: "Filter My thingy by..."
    f.button "Filter", formaction: "thingy_filter"
  end
  f.actions
end

总之,加上a better select

就更好地解决了这个问题