2011-01-07 7 views
0

私は今しばらく見てきたが、私は最高のように私はここにお願いしたいと思った、Googleに私の要求を記述するかどうかはわかりません。)レールでカスタムルーティング

、私が知っていますそのネスト安らかなルートは、あなたが一般的のようなものを取得する場合:あなたはもっと意味のある何かをしたい場合は、ナメクジを使用することができます

http://localhost/categories/1/articles/2

をか

のような何かを得るためにfriendly_id

http://localhost/categories/all-your-needs/articles/rock-out-with-this-article

(あなたはユニークな名前を持っていると仮定)。

http://localhost/all-your-needs/rock-out-with-this-article

これが可能である:

私の質問は、あなたのような何かを得るので、私は、URLの書き換えからコントローラを削除する方法、ありますか?

答えて

0

はいです。

レール2:

map.show_article ':category/:article', :controller => "articles", :action => "show" 

編集:

[OK]をあなたは、このようなものを使用することができます。更新のために

map.edit_article ':category/:article/edit', :controller => "articles", :action => "edit". 

が前の1に:conditions => { :method => :post }を追加します。ここでは、他のRESTアクションのURLを持っています。

削除の場合は、最初に:conditions => { :method => :delete }を使用してください。

新しいに関して

と作成し、使用することができます:

map.new_article ':category/new', :controller => "articles", :action => "new" 

と同じですが、:conditions => { :method => :post }とを作成するため。私はあなたを助けることができたと思う!

+0

実際に、Rolpegeが提供したのは仕事ですが、1つの行動(ショー)のみです。それをどのようにしてすべてのアクション(または複数のコントローラーを入れ子にする)に拡張できますか? –

+0

私の悪い、私は申し訳ありませんRolpege、私は誤解された人でした! – apneadiving

+0

しかし、あなたのroutes.rbファイルの下にこの行を置くことを助けてください=>この宣言はあまりにも多くのルートによってフェッチされる可能性があります:foo/bar例えば – apneadiving

関連する問題