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

リブはいいところです。これは、 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 に答える