레일즈 4.0 어플리케이션에 상태 필드가있는 '주문'모델이 있습니다. 'show'액션을 호출하여 '주문'개체 세부 정보를 얻는 동안 'Edit'및 'Back'외에 'Show 페이지'에 추가 버튼을 추가하고 싶습니다. 첫 번째 것은이 주문 객체의 상태를 '1'로만 업데이트하는 '업데이트 상태'를 표시하고 두 번째 버튼은 '주문 닫기'를 표시하여이 주문 객체의 상태를 2로만 업데이트합니다. '편집'작업 /보기? 이 단추를 추가하려면 form_tag를 사용해야합니까? 그리고 상태를 업데이트하기 위해 OrdersController에 2 개의 새로운 메서드를 작성해야합니까? 나는 '배송'또는 '닫기'버튼들은 모두 'OrdersController가'로 호출됩니다 클릭하면 다음레일스는 폼이없는 필드를 업데이트합니다.
내가 추가하려는 두 개의 버튼 ...
<p>
<strong>Name:</strong>
<%= @order.name %>
</p>
<p>
<strong>Status:</strong>
<%= @order.status %>
</p>
<%= link_to 'Edit', edit_order_path(@order) %> |
<%= link_to 'Back', orders_path %> |
<%= link_to 'Shipped', '#', :name => 'shipped_button' %> |
<%= link_to 'Close', '#', :name => 'close_button' %>
내 show.html.erb입니다 아래와 같이 'GET'요청으로
은 .. 의해 2014년 11월 21일 15시 40분 38초 -0800처리에 대해 127.0.0.1 "/ 명령/1-NAME = shipped_button"GET 시작 OrdersController # HTML로 표시
매개 변수 : { "name"=> "shipped_button", "id"=> "1"}
주문로드 (0.1ms) SELECT "주문". * "주문"어디에서 "주문". "id"=? LIMIT 1 [[ "ID", 1]]
렌더링 주문/레이아웃 내에서 show.html.erb/응용 프로그램 (1.9ms)이
50ms의에서 OK (200)을 완료 (조회수 : 47.8ms | 액티브 :는 0.1ms)
적절한 상태 필드 업데이트로 모델을 업데이트하려면 어떻게해야합니까? 'status'는 'orders'모델의 정수 필드입니다.
당신은 당신의 routes.rb 파일에 그런 일이 필요합니다
나는 당신이 원하는 무엇을 알아낼 수 없습니다. 정말. 좀 더 자세히 설명해 주시겠습니까? 그러나 [질문] (http://stackoverflow.com/questions/5607155/ruby-on-rails-3-link-to-controller-and-action) –
에 설명 된 것과 같이 link_to 함수에 액션을 전달할 수 있습니다. 예, 당신이 지적한 대답이이 경우에 효과가있는 것처럼 보입니다. link_to는 ID 또는 전체 객체를 입력 매개 변수로 사용하여 컨트롤러에서 작업을 호출하기 만합니다. – Atarang