0

私は自分のウェブサイト上にいくつかの素敵なリンクを作成しようとしています。私は今タグを介して検索を作成しています、そして私はこのようないくつかの素晴らしいルートを作成することが可能かどうか疑問に思います:

http://myapp.com/search/a_very
http://myapp.com/search/nice_set
http://myapp.com/search/of_tags

または少なくともこのように:

http://myapp.com/articles/search/a_very
http://myapp.com/articles/search/nice_set
http://myapp.com/articles/search/of_tags

link_forを使用していくつかの実験を行ったところ、action?parameter=valueの構築を回避することは不可能であることがわかりました。また、アクション間でIDを送信するなど、アドレスに「数字」を含めないようにしています。とにかく、私は初心者であり、どちらの方向を掘るべきかまったくわかりません。

それはいくつかのルートの魔法である必要がありますか?その魔法を私の例に適用する方法は?私は「設定より規約」のパラダイムを破っていますか?

4

2 に答える 2

6

これには多くの「魔法」は必要ありません。それはかなり標準的な種類のルートです。このようにすることができます(routes.rb内)

map.tag_search "search/:tags", :controller => "tags", :action => "search"

上記は、検索アクションを備えたタグコントローラーがあることを前提としています。そのアクション内で、URL の末尾が params[:tags] で利用可能になります。

Rails Guide on Routingを読むことをお勧めします - このシナリオと他の多くのシナリオをカバーしています。

于 2009-07-24T18:12:23.133 に答える
6

Rails 3 では構文が更新されています。

match 'search/:tags' => 'tags#search' :as => 'tag_search'
于 2011-12-28T20:27:21.537 に答える