Ruby on Rails - button_to использует маршруты для вызова функции из контроллера
Здравствуйте, сейчас у меня проблема с button_to
Я хочу настроить кнопку, которая вызывает метод в контроллере, вот как я настраиваю кнопку:
(это находится в проблемах /_edit.html.erb)
<%= button_to "Cancel Return", :action => "cancel_return", :controller => "issues" %>
и я хочу, чтобы это вызвало эту функцию в questions_controller.rb
def cancel_return
@issue.cancel_return(params)
end
Я также добавил это в ways.rb
map.issue_cancel_return 'issues/cancel_return', :controller => 'issues',
:action => 'cancel_return'
но это не может работать, я уже пытался объявить cancel_return как helper_method, но это также не сработало. есть ли другое решение? или я делаю это неправильно? Я использую ruby версии 1.9.3p125 и rails версии 2.3.15, я использовал старую версию, потому что я пытался изменить redmine, любая помощь будет оценена.
Спасибо
1 ответ
Вы должны поместить их в фигурные скобки, как это
<%= button_to "Cancel Return", { :controller => "issues", :action => "cancel_return"} %>
что происходит map
не определяет метод для вызова как GET/POST/DELETE, так что вы можете использовать это вместо вас map
линия в вашем routes.rb
файл
get "issues/cancel_return" => "issues#cancel_return"
это должно решить вашу проблему.