Как установить действие с form_for? - PullRequest
9 голосов
/ 12 августа 2011

Я создал новую страницу на существующем контроллере.

Я добавил 2 действия на контроллере: prompt_user и process_feedback.

Так что я попадаю на страницу через

redirect_to :controller => :users, :action => :prompt_user

И код form_for выглядит как

<% form_for :user, @user do |f| %>

, который генерирует следующий HTML

<form action="users/prompt_user" method="post">

Обратите внимание, что действие - prompt_user, где я хочу установить для него process_feedback. Я думал, что могу изменить действие с помощью кнопки

<%= submit_tag "Process feedback" %>

Но это не сработало.

Итак, мой вопрос: как я могу изменить действие на process_feedback?

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

Ответы [ 2 ]

16 голосов
/ 12 августа 2011

Это по памяти, но я думаю, что вы можете сделать что-то вроде этого:

form_for :user, @user, :url => { :action => :prompt_user } do |f|
1 голос
/ 10 мая 2016

В качестве альтернативы, то же самое можно сделать, используя form_tag с синтаксисом:

Смотрите мой ответ на этот вопрос: здесь https://stackoverflow.com/a/37145293/1248725

...