2009-07-24 4 views
0

私は自分のウェブサイト上にいくつかの素晴らしいリンクを作成しようとしています。私はちょうど今、タグを使用して検索を作成していて、このようないくつかの素敵なルートを作成することが可能である場合、私は疑問に思う:Railsのカスタムルート

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でいくつかの実験を行い、行動を避けることが不可能であることを理解しました。私はまた、アクションの間にIDを送信するような、アドレスに「数字のもの」を避けようとしています。とにかく、私はちょっと初心者です。

いくつかのルートは魔法でなければなりませんか?どのように私の例にその魔法を適用するには?私は 'コンベンション・オブ・コンベンション'のパラダイムを仲介していますか?

答えて

6

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

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

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

Rails Guide on Routingを読むことをお勧めします。

+0

うわー、ありがとう!どのように私はそのガイドを逃したのか分かりません... – gmile

6

Rails 3の構文が更新されました。

match 'search/:tags' => 'tags#search' :as => 'tag_search' 
関連する問題