2012-03-04 33 views
14

Tôi đang sử dụng các cách sau để thử và đặt phương thức PUT trên biểu mẫu nhưng vẫn đang thực hiện một bài đăng. Tôi đã đề cập đến các tài liệu và nó có vẻ như im làm điều này đúng.Phương thức PUT form_for

form_for @firm, html: {autocomplete: "off"}, url: firm_path, method: :put do |f| 
... 

Trả lời

30

Điều này thực hiện vì trình duyệt không hỗ trợ PUT/DELETE rất tốt. Bạn có thể đọc thêm về điều này trong Rails Guides:

Tuy nhiên, hầu hết các trình duyệt không hỗ trợ phương pháp khác hơn là “GET” và “POST” khi nói đến nộp tờ.

Đường ray hoạt động xung quanh vấn đề này bằng cách mô phỏng các phương pháp khác qua POST với đầu vào bị ẩn có tên "_method", được đặt để phản ánh phương thức mong muốn .

+2

Có nhưng trong tài liệu API (http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html) chuyển băm: phương thức trên biểu mẫu để tự động thêm trường bổ sung đó. –

+0

Trên thực tế, vấn đề là form_for KHÔNG thêm trường ẩn –

+0

@JasonWaldrip Now * that * không có ý nghĩa gì cả - bạn có chắc là nó không có ở đó không? –

Các vấn đề liên quan