2013-06-12 1 views
1

В моем просмотров/пользователей/edit.html.erb, у меня есть следующие:Режиссура Редактировать форму конкретного метода контроллера

<%= form_for @user do |f| %> 
......... 
    <div class="controls"><%= submit_tag "Update User Info", :class => "submit_button" %></div> 
<% end > 

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

ответ

2
<%= form_for @user, :url => some_other_route_path do |f| %> 

Образцы! Вы можете также, если хотите, сделайте следующее:

<%= form_for @user, :url => {:controller => :users, :action => :my_action} do |f| %> 

More info

+1

Поскольку OP начинающим, в соответствии с их именем, [ссылка] (http://guides.rubyonrails.org/routing. html # paths-and-urls) указывает на документацию рельсов по маршрутным маршрутам, чтобы помочь объяснить первое предложение, если оно еще не было известно. –

+1

Хороший звонок, спасибо @Teeg – Matt

+0

Я прочитал раздел о маршрутах и ​​дорожках, но я все еще немного смущен. : my_action будет именем метода в контроллере пользователей или что-то вроде update_user_info_user. Позже это не сработало. ActionConttoller сказал мне, что нет соответствующего маршрута. Должен ли я явно определять этот маршрут в route.rb? Прочитав документацию, казалось, что контроллер действий позаботится об этом без конкретной записи в routes.rb. Мне также было интересно, можно ли это сделать с помощью синтаксиса кнопки отправки, в отличие от form_for @user ... do –

Смежные вопросы