Ruby on Rails のルーティングについてです。
複数の半静的ページを1つのコントローラーで制御しようとしています。
config/routes.rb に全ページ分 get メソッドを書くのも辛いので、下記のように書きました。

  StaticPagesController.action_methods.each do |action|
    match action,
      action: action,
      controller: :static_pages,
      via: :get,
      as: action
  end

しかし、これでは階層を持った URL に対応できません。(example.com/foo/bar)
1つ1つ get 'foo/bar' => 'static_pages#bar' のように書く以外に解決法はないでしょうか。
完全に初心者なので「ない」もしくは「設計上好ましくない」ということだけでも確認したいです。

以上、よろしくお願い致します。


追記

StaticPagesController で、
example.com/page1 と、
example.com/foo/page2 と、
example.com/foo/bar/page3 の
全アクションを書くのが目的です。
コントローラーのコードは下記のようなイメージです。

class StaticPagesController < ApplicationController
  def page1
  end

  def page2
  end

  def page3
  end
end

ただし、できることなら

get 'page1' => 'static_pages#page1', 
get 'foo/page2' => 'static_pages#page2', 
get 'foo/bar/page3' => 'static_pages#page3'

と一つずつ書くのは避けたいです。