单击按钮后,在ActiveAdmin中的数据库中进行更新

时间:2017-10-08 23:27:12

标签: ruby-on-rails activeadmin

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

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

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

我添加了以下代码。但它并没有改变数据库中的价值。

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

1 个答案:

答案 0 :(得分:0)

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

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作为方法会更正确,但不是绝对必要。