2009-05-28 10 views
2

プロジェクトにはのタスクが多くあり、タスクには「approve」というカスタムRESTfulアクションがあります。has_manyネスト内のカスタムRESTfulルート

私はこれが私のために働いていません。このapprove_project_task_url

のようなものを見るためにヘルパーを期待している:

map.resources :projects, 
       :has_many => :tasks, 
          :member => { :approve => :post } 

答えて

10

は、私はかつて同じ問題を抱えていたが、私は長いとハード検索されません修正のために。

map.resources :projects do |project| 
    project.resources :tasks, :member => {:approve => :post} 
end 

あなたに必要なapprove_project_task_url(@project, @task)ルート/ヘルパーを提供します:代わりに私はちょうどそれ以来、私はいつも使用していた古いスタイルを選択しました。

あなたは既にこのアプローチを知っていると思いますか?そうであればうまくいけないといいですね。他の回答から何かを学ぶでしょう:)

+3

「レーキルート」を使って、作成されたルートを確認することもできます。 –

+1

それは修正です。 :has_manyは、それが複雑でないときのための単なるショートカットです。 –

+0

@イアン:あまりにも知ってもいいです、歓声。 – tsdbrown

1
**This is syntax correction to above solution** 

map.resources :projects do |project| 
    project.resources :tasks, :member => {:approve => :post} 
end 
関連する問題