我的问题很简单:如何更改aasm
按钮单击时的转换?我应该把什么放在我的视野中?
我有两个按钮:Approve
和Reject
。我的状态如下所示:
aasm :column => 'state' do
state :pending, :initial => true
state :approved
state :rejected
event :approve do
transitions :to => :approved, :from => [:pending]
end
event :reject do
transitions :to => :rejected, :from => [:pending]
end
end
更新:我的参数是这些:
{"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"...",
"commit"=>"APP",
"id"=>"65"}
.
这就是我从视图中访问操作的方式:
= form_for([:admin, shop], method: :put, data: { confirm: "You sure?" }) do |f|
= f.submit "Approve", :controller => :shops, :action => :approve
我的控制器代码:
def approve
@shop = Shop.find(params[:id])
@shop.approve!
end
路线:
namespace :admin do
get "shops/:id/approve" => "shops#approve"