2017-10-08 80 views
1

我是ActiveAdmin和Ruby on Rails的新手。我有資源名稱保留。所以reservations.rb文件我曾嘗試使用下面的代碼點擊此按鈕,我只是想改變reservation.status的值在數據庫中該保留「拒絕」後創建按鈕現在單擊按鈕後在ActiveAdmin中進行數據庫更新

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

我已添加以下代碼。但它不會更改數據庫中的值。

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

使用[action item](https://activeadmin.info/8-custom-actions.html#action-items) –

+0

那麼如何使用操作項更改我的reservation.status =「Approved」的值。我添加了以下塊,但它不會更改數據庫中的值。 action_item:已批准,只有:show do link_to'已批准','#' reservation.status =「已批准」 結束 –

回答

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 

我承認文件可能是更好的演示不包括例如,永久居民的歡迎。 link_to而不是a是好的。指定patch作爲方法會更正確,但不是絕對必要的。

相關問題