Rails xử lý trường hợp 99%: Bạn không bao giờ cần phải thực hiện bất kỳ bản dịch XML hoặc JSON nào trong hành động Chỉnh sửa của mình, vì không trực quan, hành động Chỉnh sửa khá giống như Hiển thị hành động. khách hàng nonvisual rằng muốn cập nhật một mô hình trong ứng dụng của bạn có thể gọi bộ điều khiển theo cách này
GET /my_models/[:id].xml (Show)
Sau đó, ứng dụng khách hàng có thể thực hiện bất kỳ biến đổi hoặc chỉnh sửa và đường bưu điện (hoặc đặt) kết quả cho
PUT /my_models/[:id].xml (Update)
Khi bạn gọi này, bạn thường được làm việc đó để có được một hình thức có thể chỉnh sửa của hiện hành động:
GET /my_models/[:id]/edit
Và nó được thiết kế để sử dụng con người. 99% thời gian, nghĩa là. Vì việc chuyển đổi dữ liệu trong hành động Chỉnh sửa là bất thường, Rails giả định bạn sẽ không làm như vậy và DRY tăng mã của bạn bằng cách để lại phản hồi_để ra khỏi giàn giáo.
Tôi hiểu điều đó. Tuy nhiên, có một respond_to chặn cho các hành động mới. Sẽ không cùng một đối số áp dụng cho các hành động mới không? –
Hành động "mới" cung cấp cho bạn một đối tượng với các trường mặc định được điền. Bạn sẽ sử dụng chúng khi bạn sau đó đăng lên hành động "tạo", cho dù từ một ứng dụng khách không phải là người dùng hoặc một màn hình HTML. – Pete
Và ...... như Ryan chỉ ra trong câu trả lời của mình: Hành động mới trả về một mẫu XML mà bạn có thể sử dụng để điền vào mô hình của bạn từ một khách hàng không theo quy định. Tốt lắm, Ryan. – Pete