0

Rails 2.2.2 アプリに CMS を追加しました。ルートの下部に、パス全体を単一のパラメーターに押し込んで cms コントローラーを呼び出すキャッチオールがあり、そのパスに一致するページを探すように設定したい

例えば

http://mysite.com/something/about/foo
=> {:controller => "cms", :action => "show", :page => "something/about/foo"}

スラッシュでの分割を停止するために追加する必要があるオプション (存在する場合) がわかりません。アイデアはありますか?これはRails 2であることを忘れないでください。ありがとう!

4

1 に答える 1

0

公式のRails APIドキュメント(doh)でこれに対する答えを発見しました:

4.9 Route Globbing
Route globbing is a way to specify that a particular parameter should be matched
to all  the remaining parts of a route. For example

map.connect 'photo/*other', :controller => 'photos', :action => 'unknown',

私の場合:

map.connect   "/*page", :controller => "cms", :action => "show"

という意味です

http://mysite.com/something/about/foo
=> {:controller => "cms", :action => "show", :page => ["something", "about", "foo"]}

簡単に params[:page] に参加してフルパスを再度取得できるので、これで問題ありません。

読んでくれてありがとう :)

于 2012-08-24T08:47:15.267 に答える