单击按钮后在 ActiveAdmin 中更新数据库

Making Updates in Database in ActiveAdmin after clicking a button

我是 ActiveAdmin 的新手,Ruby Rails。我有资源名称 Reservation。所以 reservations.rb 我使用以下代码创建了按钮文件

div class: "button" do
 button_to "Decline", :class => "btn" 
end

现在单击此按钮后,我只想将该预订的数据库中 reservation.status 的值更改为 "Declined"。

我添加了以下代码。但它不会改变数据库中的值。

action_item :approved, only: :show do
    link_to 'Approved', '#'
    reservation.status="Approved"
end

使用与操作项配对的成员操作。动作项显示按钮,成员动作执行动作,所以:

action_item :approve, only: :show do
  a 'Approve', href: approve_reservation_path(reservation)
end

member_action :approve do
  reservation.update_attributes!(status: 'Approved')
end

我承认文档可以做得更好并且演示不包含示例,欢迎 PR。 link_to 而不是 a 就可以了。指定 patch 作为方法会更正确,但并非绝对必要。