1

名前空間を持つルートを初めて使用し始めています。以下が何をするかの概念を理解しています。

namespace :company do
    namespace :project, defaults:{format: 'json'}  do
      resources :registration 
    end
  end

私のコントローラーはそのように見えます

class Company::Project::RegistrationController  < ApplicationController

    before_filter :authenticate_user!
    #responds_to :json

    def register

    end

    def entry

    end
end

そのため、リソースでルートを定義したいと思いますが、registerそのentry方法を実際に教えてくれるものは何も見つかりませんでした。名前空間を使用していない場合は、通常、ルート ファイルでこのようなことを行うことを知っています。

match 'company/project/registration/register' => "Registration#register"

名前空間ブロック内でそれを行う方法はありますか?

---------- 変更後 -------------- 最初の回答で以下の提案された変更を行った後、これが >rake routes を実行すると得られるものです

register_company_project_registration POST       /company/project/registration/:id/register(.:format) company/project/Registration#register {:format=>"json"}
   entry_company_project_registration POST       /company/project/registration/:id/entry(.:format)    company/project/Registration#enrty {:format=>"json"}
   company_project_registration_index GET        /company/project/registration(.:format)              company/project/registration#index {:format=>"json"}
                                             POST       /company/project/registration(.:format)              company/project/registration#create {:format=>"json"}
     new_company_project_registration GET        /company/project/registration/new(.:format)          company/project/registration#new {:format=>"json"}
    edit_company_project_registration GET        /company/project/registration/:id/edit(.:format)     company/project/registration#edit {:format=>"json"}
         company_project_registration GET        /company/project/registration/:id(.:format)          company/project/registration#show {:format=>"json"}
                                             PUT        /company/project/registration/:id(.:format)          company/project/registration#update {:format=>"json"}
                                             DELETE     /company/project/registration/:id(.:format)          company/project/registration#destroy {:format=>"json"}
4

1 に答える 1

4

私はあなたを正しく理解したと思います。サブルートの追加ルートを追加しますか?

アプローチは次のようになります。

namespace :company do
   namespace :project, defaults:{format: 'json'}  do
     resource :registration do
       member do
         get 'register', :to => 'registration#register', :as => :register
         get 'entry', :to => 'registration#enrty', :as => :entry
       end     
     end
   end
end
于 2012-05-24T13:34:01.847 に答える