Tôi có một button_to mà tôi muốn thực hiện một hành động PUT (chỉ có một điều có thể được cập nhật về tài nguyên này - nó sẽ được cập nhật là 'được thừa nhận' , do đó, không có trường biểu mẫu nào khác được liên kết với việc kích hoạt hành động).Rails3 button_to đang gọi hành động POST, cố gắng gọi hành động PUT
Đây là quan điểm của tôi (bộ điều khiển được đưa ra một cách rõ ràng bởi vì nút là trên quan điểm cho rằng thuộc về bộ điều khiển khác):
<%= button_to "Acknowledged", :controller => 'practice_sessions', :id => @practice_session.id, :method => :put %>
Trong tập tin tuyến đường của tôi, các tài nguyên đã được khai báo là một nguồn tài nguyên yên tĩnh :
resources :practice_sessions
Bộ điều khiển cho tài nguyên này có tác vụ tạo và cập nhật và nút ở trên gọi hành động tạo. Tôi muốn nó gọi hành động cập nhật.
này đi kèm thông qua các bản ghi ngay trước khi đám cháy hành động tạo ra:
Started POST "/practice_sessions?id=21&method=put" for 127.0.0.1 at 2010-11-17 08:52:46 +0000
Processing by PracticeSessionsController#create as HTML
Parameters: {"authenticity_token"=>"1EW0IlI38d0f4wST5azrCEZVZPfih7i0UvCGSF7eqbc=", "id"=>"21", "method"=>"put"}
Xin chào, cảm ơn vì điều này. Tôi hiện đang nhận được 'Không có kết quả phù hợp với tuyến đường'/tập_tập_kiếm ''. Tôi nghĩ rằng đó là bởi vì nó PUTting chỉ/practice_sessions (như được chứng kiến bởi URL http: // localhost: 3000/practice_sessions? Id = 26) chứ không phải là/practice_sessions/26 trong trường hợp này. Tôi sẽ tiếp tục chơi với nó, nhưng mọi lời khuyên đều được đánh giá cao! – pakeha
Đầu ra của 'các tuyến đường rake' là gì? – zetetic
Có vẻ như mong đợi. Dưới đây là những dòng tôi tưởng tượng được quan tâm: practice_session PUT /practice_sessions/:id(.:format) {: action => "update",: controller => "practice_sessions"} practice_sessions POST/practice_sessions (. Định dạng) {: action => "create",: controller => "practice_sessions"} – pakeha