Ruby on Rails вызывает действие, которое я создал - PullRequest
0 голосов
/ 18 января 2011

Я имею в своем представлении пользователя Index страницу тега button_to следующим образом:

<%= button_to "Make Admin", :action => :make_admin :user => user %>

В контроллере пользователя у меня есть:

def make_admin<br> @user = User.find(params[:id])<br> @changed_user.role = 3<br> @changed_user.save<br> end

Я получаю сообщение о неправильной маршрутизации, но так как меня не интересует изменение представления до окончания действия, я не знаю, как маршрутизировать это действие.Где я ошибся?

1 Ответ

1 голос
/ 18 января 2011

Вам необходимо указать путь в ваших маршрутах:

# routes.rb
get 'your_path' => 'user#make_admin, :as => 'make_admin' # can use post too

# controller
def make_admin
  # logic to make an admin
  redirect_to(some_other_path, :notice => 'User was made an admin')
end

тогда, по вашему мнению,

button_to 'make admin', make_admin_path

Возможно, вы также захотите сделать звонок удаленно, но вам нужно будет опубликовать еще один вопрос с более подробной информацией в этом смысле

...