내 질문은 매우 간단합니다 : 어떻게하면 aasm
단추를 클릭 할 때 전환을 변경할 수 있습니까? 내 견해에 무엇을 넣어야합니까?Ruby on rails 버튼 클릭시 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
UPDATE를 : 내 PARAMS이 있습니다
{"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"
고마워요, Srikanth! 컨트롤러에 액션을 추가하고 뷰에서 액세스했습니다. 하지만 이제는이 오류를 해결해야합니다 :'param이 없거나 값이 비어 있습니다 : hotel'. 도와 줄수있으세요? 나는 갱신을했다. 다시 한 번 감사드립니다! –
컨트롤러 코드를 게시 할 수 있습니까? 샘플을 여기에 넣었습니다. –
감사합니다. 하지만 미안하지만, 같은 오류. 나는 또한 업데이 트 .. 그리고 또한, 버튼을 클릭 URL을 http : // localhost : 3000/admin/shops/65 (끝에 '승인')처럼 클릭하십시오. –