Rails вспомогательные методы для определенных действий REST - PullRequest
1 голос
/ 24 августа 2009

Когда я делаю рейк-маршруты, я вижу, что вспомогательные методы доступны для определенных действий REST для моей пользовательской модели, таких как new_user, edit_user, поэтому я могу использовать такие методы, как new_user_path, edit_user_path и т. Д., Но они недоступны для действия обновления или уничтожения , Чтобы вызвать действие уничтожения, я должен сделать что-то вроде этого

link_to ‘Destroy’, user_path, :method => :delete

Кто-нибудь знает, почему это так?

1 Ответ

1 голос
/ 24 августа 2009

Просто потому, что в этом нет необходимости. Комбинация http-глагола и URI должна быть достаточной, чтобы определить, является ли это действием обновления или уничтожения. Вот список комбинаций http глагола и URI из rails guide , из которого вы можете увидеть, что «update» и «destroy» используют тот же URI, что и «show», единственное отличие - это http глагол.

GET / фотографии Индекс фотографий
показать список всех фотографий

GET / фотографии / новые фотографии новые
вернуть HTML-форму для создания новой фотографии

POST / photos Фотографии создания
создать новое фото

GET / фотографии / 1 Фотографии показывают
показать конкретную фотографию

GET / фотографии / 1 / редактировать Фотографии редактировать
вернуть HTML форму для редактирования фото

PUT / фотографии / 1 Обновление фотографий
обновить конкретное фото

УДАЛИТЬ / Фотографии / 1 Фотографии уничтожить
удалить конкретную фотографию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...