我正在尝试学习如何在视图中使用超链接来访问自定义控制器方法。我的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
答案 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