添加到嵌套路由的快捷方式

时间:2010-05-11 10:50:11

标签: ruby-on-rails ruby-on-rails-3

我正在使用嵌套路由,我想提供某种快捷方法。 (我正在使用RoR 3.0)

路线看起来像这样。

resources :countries do
  resources :regions do
    resources :wineries
  end
end

要访问酒厂路线,我希望能够定义一个功能,无需每次都指定国家和地区。像:

def winery_path(winery)
  country_region_winery_path (winery.country, winery.region, winery)
end

我应该在哪里这样做?如果url_for可用,我怎样才能获得它?

1 个答案:

答案 0 :(得分:1)

我会把它放进你的app/controller/application_controller.rb

class ApplicationController < ActionController::Base
  helper_method :winery_path
  def winery_path(winery)
    country_region_winery_path (winery.country, winery.region, winery)
  end
end

现在它可以在每个控制器和视图中使用