У меня есть ссылка, которая идет к действию, так что если кто-то нажмет:как отправить сформировать внутри действия
localhost/cart/checkout?pid=123
Он идет к кассе действия CartController, который затем отображает форму.
Но в некоторых случаях (в зависимости от того, когда я загружаю продукт с идентификатором 123), мне может не понадобиться отображать форму, я могу просто загрузить данные, а затем отправить их в действие формы.
Как я могу запрограммировать сообщение о том, где моя форма будет размещаться с данными.
class CartController < ApplicationController
def checkout
pid = params[:pid]
product = Product.find(pid)
if product....
# no need to display view, just post to handleCheckout
end
end
# checkout form posts to this action
def handleCheckout
end
end
Я не разработчик ruby, так что простите, если я ошибаюсь, но не можете ли вы просто отправить запрос примерно так: [Ruby: POST data to url] (http://stackoverflow.com/a/ 20769173/3504007) похоже, что он использует 'Net :: HTTP', чтобы напрямую отправлять необработанные данные в URL. Второе решение на странице, похоже, возвращает ответ как «тело» - как без вывода на страницу (только вызовы сервера на сервер) –
Возможно, вы можете взглянуть на [Маршрутизация ресурсов] (http: // guide. rubyonrails.org/routing.html#resource-routing-the-rails-default). Это должно решить вашу проблему. – bananaappletw
@bananaappletw, как это решить? – Blankman