1

我想使用自定义方法来构建我的路线。

目前,我的routes.rb文件中有这样的内容:

Foobar::Application.routes.draw do
  def my_custom_method
    # lot
    # of
    # code
  end

  pages = my_custom_method

  pages.each do |key, slug|
    get slug => 'pages#view', as: key, defaults: { slug: slug }
  end
end

但我确定这不是它的位置。

那么我应该在哪里存储这个自定义方法?

哪个是“好方法”?

4

3 回答 3

2

Lib是个好地方。它甚至是Devise 维护者的选择。

于 2013-01-22T15:55:48.390 回答
1

我会说ruby​​ 方法是使用附加功能扩展ActionDispatch::Routing模块。

于 2013-01-22T15:56:46.147 回答
1

一个可行的解决方案是创建包含以下内容的文件config/initializers/routes.rb

module ActionDispatch::Routing
  class Mapper
    def my_custom_method
      # lot of code
    end
  end
end
于 2013-01-22T17:24:49.737 回答