Rails - правильный способ направить действие в контроллере - PullRequest
0 голосов
/ 07 января 2011

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

Кнопка на виде выглядит как ...

  <%= button_to "Thumbs Up", {:controller => 'user', :action => "yes", :id => event.id}  %>

Представление является индексной страницей моего пользовательского контроллера. Внутри пользовательского контроллера у меня есть действие «да», которое вносит изменения в запись в зависимости от того, какой элемент Event (модель, отображаемая на странице индекса) выбран. ТАК действие контроллера в контроллере выглядит как ....

def yes
  @user = User.find(current_user)
  @event = Event.find(params[:id])
 ........ Blah Blah Blah .....
  redirect_to home_path
end

Домашний путь - это просто маршрутизация к пользователю. # Просмотр индекса

Так что у меня есть маршрут ....

  match '/yes' => 'user#yes'.

Но я получаю сообщение об ошибке "Не найдено ни одного маршрута {: controller =>" пользователь / пользователь ",: action =>" yes ",: id => 1}"

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

1 Ответ

1 голос
/ 07 января 2011
  match '/yes(/:id)' => 'user#yes'

скобки делают параметры необязательными, см. http://edgeguides.rubyonrails.org/routing.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...