0

我正在尝试学习如何在视图中使用超链接来访问自定义控制器方法。我的控制器中有以下代码,我想使用link_to视图中的命令来访问它。我猜我需要在路由文件中做一些事情才能使该launch_build_file方法起作用?我应该在视图中列出什么代码来触发该launch_build_file方法?

class ReportsController < ApplicationController

  def index
  end

  def launch_build_file
    Process.spawn("ruby #{Rails.root}/lib/build.rb")
  end

end
4

2 回答 2

1
link_to "foo", :controller => :reports, :action => :launch_build_file

或者您可以创建一个命名路由并使用它来获取 URL。

于 2012-11-02T15:14:16.257 回答
1

在您的路线文件中假设您有报告资源,如果没有,那么您可以使用命名路线

resources :reports do

 collection do
  get :launch_build_file
 end


end
#or
match '/reports/launch_build_file' => "reports#launch_build_file", :as => 'launch_build_file'

#If it's collection route 
link_to launch_build_file_reports_path
#or 
link_to launch_build_file_path
于 2012-11-02T15:15:24.440 回答