Хобрук: Ваш путь к мастерству в программировании

Нересурсные маршруты и POST

Прямо сейчас я пытаюсь написать свои собственные маршруты Rails для своего приложения, но по какой-то причине, когда я пишу нересурсные маршруты, я не могу получить запросы POST (или что-либо кроме GET в этом отношении) для маршрутизации к действию что я уточнил. Я попытался использовать ключевое слово via и попытался использовать хэш условий, но когда я запускаю rake route, я не вижу, чтобы метод POST отображался рядом с маршрутом.

Вот код:

#config/routes.rb

get "transactions/:id/process", :to => "transactions#payment", :as => :transaction_process,:via => [:get, :post], :conditions => {:method => :post }

Я пытался использовать только через и только условия, и ни один из них не работает. У меня есть форма, которую я отправляю на это действие, но получаю сообщение об ошибке:

No route matches [POST] "/transactions/8/process"

Кто-нибудь знает, как я могу заставить Rails направлять POST-запросы на этот URL-адрес к моему действию транзакции#платежа?

Спасибо

13.01.2012

Ответы:


1

Метод get в вашем маршруте объявляет один маршрут, который в данном случае является запросом GET. Если вы хотите определить и пользовательский GET, и POST в одной строке, вы можете использовать match.

Из Руководства по Rails:

match 'photos/show' => 'photos#show', :via => [:get, :post]

13.01.2012
  • Большое спасибо, именно то, что я искал 13.01.2012
  • Новые материалы

    Решения DBA Metrix
    DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

    Начало работы с Блум
    Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...