당신이 할 수있는 일은 AJAX를 사용하여 컨트롤러에 콜백하여 해당 부울을 전환하는 것입니다. 이 경우에는 링크 나 체크 박스를 대신 사용 하겠지만, 결국 큰 문제는 아닙니다. 이 작업을 수행하는 방법에 대한 예제 코드가 필요하면 알려주십시오.
내가 대답 작업을 지정에 대한
similar question이 있었다, 나는 다음과 같이 거기 LINK_TO을 사용 :
link_to "Profile", :controller => "profiles", :action => "show", :method => :get, :id => @profile
그래서 당신이 작업을 지정할 수 있지만 그 링크 만이 아닌 버튼으로 작동합니다. 그러나 업데이트를 수행 한 특별한 조치를 취할 수 있습니다.
보조 질문에 대해서는 정확하게 이해하면 @payment
개체에 부울을 설정하고 개인 메서드를 호출 한 다음에 하시겠습니까? 데이터베이스에 부울을 저장한다고 가정합니다. 그래서 그러므로 당신의 컨트롤러 액션이 뭔가를 할 수 있습니다 :
payment.rb에 (당신의 부울 열을 가정하는 것은 단지 더 나은 가짜 이름의 부족에 대한 "boolean_col"라고합니다) 그런 다음
@payment.call_amazon_payment_method
:
def call_amazon_payment_method
new_val = self.boolean_col? false : true
self.update_attributes(:boolean_col => new_val)
# if that alone will trigger your private method, you're done, or:
self.private_amazon_payment_method
end
나는 당신의 질문을 올바르게 이해하고 당신을 우아한 해결책으로 이끌 수 있었으면 좋겠습니다.