2017-03-06 18 views
0

以下のシナリオのためのルートを書き込む方法:私はこのようになりますJSONルート・パス持っ

resources :departments, only: [] do 
    get 'register', on: :collection 
end 

I:なしキューブとcubedがなかったとき

/jobs/{jobid}/employees/{employeeid}/departments/cubes/{cubeid}/register 

次のルートが正常に動作しますが

namespace :departments do 
    resources :cubes, only: [] do 
    get 'register', on: :collection 
    end 
end 

上記のコードでどのような変更を行う必要がありますので、ルートパスと一緒に使用できますか?

+0

あなたのパスに部門IDが表示されません。特定の部門であると思われる「立方体」ですか? – eiko

+0

私はdepartmentIDを持っていません。立方体は部署の一部です。部門内の従業員キューブのようなもので、各事業部キューブのIDは – User7354632781

+1

です。これはネストするのではなく定義するだけの理由です。例えば:register_employee_job_cube' – engineersmnky

答えて

0

私は追加します。その後、私のroutes.rb

resources :jobs do 
    resources :employees do 
    namespace :departments do 
     get 'cubes/:cube_id/register', 
     to: 'cubes#register' 
    end 
    end 
end 

rake routesを実行して、私は私の出力に次の行を取得する:

GET /jobs/:job_id/employees/:employee_id/departments/cubes/:cube_id/register(.:format) departments/cubes#register 
0

それ以上1つのレベルのネスト・リソースへの良い練習ではありません

http://guides.rubyonrails.org/routing.html

リソースは1レベル以上深くネストされてはなりません。

http://weblog.jamisbuck.org/2007/2/5/nesting-resources

親指のルール:リソースを超える1つのレベル 深いネストすべきではありません。コレクションは親のスコープにする必要があるかもしれませんが、特定の メンバには常にIDで直接アクセスでき、何らかの理由でidが一意でない限り、 スコープは必要ありません。

関連する問題