2017-06-28 5 views
-1

私は、URLがhttp://localhost:3000/brokers/1/approveあるこれらのルート同じルートを使用するように変更するにはどうすればいいですか?idはupdateの代わりに:model_id?

resources :brokers do 
    patch :approve 
rake routes
 broker_approve PATCH /brokers/:broker_id/approve(.:format)  brokers#approve 
         PATCH /brokers/:id(.:format)      brokers#update 

を持っています。

それはエラーを与える

'ID' とブローカーが見つかりませんでしたブローカをロードコントローラは、パラメータである

def set_broker 
    @broker = Broker.find(params[:id]) 

ある=

{"_method"=>"patch", "authenticity_token"=>"O8jztBqgRPcepes/p6IQqTfUQ==", "broker_id"=>"1"} 

#updateのように、パスを使用して/brokers/:id/approveを使用すると、同じメソッドを使用してモデルをロードできますか?

ガイド:http://guides.rubyonrails.org/routing.html#nested-resources

答えて

0

あなたはメンバーのルートとして、ネストされたルートを扱っていました

resources :brokers do 
    member do 
     patch :approve 
    end 
end 

にあなたのルートを更新することにより、これを行うことができます。これにより、次のようなルートが作成されます。

approve_broker PATCH /brokers/:id/approve(.:format) brokers#approve 
関連する問題