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"

это должно решить вашу проблему.

Другие вопросы по тегам