map.resources
とmap.resource
を使用してRailsサイトを設定していますが、少なくとも私が知る限り、制限があります。ルーティングリソースに関する問題
ここに私の現在のルーティングがあります。一般的な意味で
map.with_options :conditions => { :subdomain => true } do |sub|
sub.root :controller => 'company'
sub.resource :company do |company|
company.resources :clients, :path_prefix => nil, :name_prefix => nil, :collection => { :sort => :post } do |clients|
clients.resources :projects, :path_prefix => ":client/:project"
end
end
sub.resource :user, :collection => { :logout => :get }
end
これは私の希望結果である:クライアントのコントローラを呼び出して、同じであるハッシュのいくつかの並べ替えとしてクライアント名を渡し
/クライアント名/アクション。
/client-name/project-name/action
プロジェクトコントローラを呼び出しますが、client-nameは同じ名前のハッシュとして渡します。それはidとして渡すことを望みます。
私は、非常に基本的な私のURL構造を維持するために期待しています:
- クライアント名=ヤフー
- プロジェクト名=ログインページ
/クライアント名を/ - Clients.show
メソッドを使用する必要があります。
/client-name/edit - これはClients.edit
メソッドを使用する必要があります。
/client-name/project-name - Projects.show
メソッドを使用する必要があります。
/クライアント名/プロジェクト名/編集 - これはProjects.edit
メソッドを使用する必要があります。これはProjects.index
メソッドを使用している -
/クライアント名/プロジェクト:私の現在のルーティングと、それがそのようなものとして解釈されているが
。
/clients/client-name - これはClients.show
メソッドを使用しています。
本当にありがとうございます。
私はあなたの質問を解明しようとしているが、私は立ち往生しています「同じ種類のハッシュ」が何であるかを把握しようとしています。 – jdl
私は使用可能なインクルードbefore_filterメソッドが必要です。そのため、params [:client]またはparams [:project]を読み込み、スラッグを読み込む必要があります。あなたは今理解していますか?あなたが好きなら、私はあなたに例を示すことができます。 – Garrett