1

您好,现在我对 button_to 有疑问

我想设置一个在控制器中调用方法的按钮,这就是我设置按钮的方式:

(位于问题/_edit.html.erb 中)

<%= button_to "Cancel Return", :action => "cancel_return", :controller => "issues" %>

我希望这将在 issues_controller.rb 中调用此函数

  def cancel_return
    @issue.cancel_return(params)
  end

我还在 routes.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,任何帮助将不胜感激。

谢谢

4

1 回答 1

2

你应该把它们放在这样的花括号里

<%= button_to "Cancel Return", { :controller => "issues", :action => "cancel_return"} %>

发生的事情map是没有定义像 GET/POST/DELETE 这样的调用方法,所以你可以做的是使用它而不是你maproutes.rb文件中的行

get "issues/cancel_return" => "issues#cancel_return"

这应该可以解决您的问题。

于 2013-08-28T04:43:27.680 回答