RubyonRails-button_to使用路由从控制器调用函数



你好,我现在有一个关于button_to 的问题

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

(位于issues/_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,任何帮助都将不胜感激。

感谢

您应该将它们放在像这样的大括号中

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

发生的情况是map没有定义像GET/POST/DELETE这样的调用的方法因此,您可以使用这个来代替routes.rb文件中的map

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

这应该能解决你的问题。

相关内容

  • 没有找到相关文章

最新更新