如何使用自定义控制器方法?

时间:2012-11-02 15:08:45

标签: ruby-on-rails controller

我正在尝试学习如何在视图中使用超链接来访问自定义控制器方法。我的Controller中有以下代码,我想在View中使用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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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