нет маршрутов соответствует POST / GET - PullRequest
0 голосов
/ 21 декабря 2011

Как определить маршруты для методов POST / PUT / GET при использовании формы 'form_tag'? определить в модели метод POST или PUT? Или, если у меня есть, например, метод просмотра, то я должен сделать с маршрутом что-то вроде этого: (предупреждение! псевдокод ниже)

match 'browsing/mymethod' => 'browsing#post'

пожалуйста, помогите! (

1 Ответ

1 голос
/ 21 декабря 2011
  1. Если ваша форма не изменяет состояние базы данных (не создает, не обновляет и не удаляет записи), а также не содержит конфиденциальных данных (например, учетные данные для входа), например, если это форма поиска и вы используетечтобы отфильтровать результаты, используйте HTTP-глагол GET:

    get 'browsing/mymethod' => 'browsing#filter'

  2. Если это форма, которая создает данные в базе данных или создает какой-либо ресурс (запускаетнапример, сеанс аутентификации), используйте HTTP-глагол POST:

    post 'browsing/mymethod' => 'browsing#create'

    ПРИМЕЧАНИЕ. Мы говорим о действии, которое отправляет форма, а не о возможном вспомогательном действии, которое отображает форму!

  3. Если это форма, которая обновляет данные в базе данных или изменяет какой-либо ресурс, используйте HTTP-глагол PUT:

    put 'browsing/mymethod' => 'browsing#update'

  4. Наконец, если это форма, которая при отправке удаляет данные (обычно это просто кнопка, никаких других полей в форме), используйте команду DELETE HTTP:

    delete 'browsing/mymethod' => 'browsing#destroy'

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