2012-10-05 28 views
1

我在routes.db界定的巢資源:如何設置類似「新」的控制器操作的嵌套資源

resources :accounts do 
    resources :transactions do 
end 

我想創建一個類似於「新」路線,但行動將new_transfer,這將讓我來處理一個特殊類型的新交易:

new_account_transaction GET /accounts/:account_id/transactions/new(.:format)  transactions#new 

我試圖定義的方法,包括定義的資源:

resources :accounts do 
    resources :transactions 
    member do 
     get 'new_transfer' 
    end 
end 

resources :accounts do 
    resources :transactions do 
     member do 
     get 'new_transfer' 
     end  
    end 
end 

,但我得到:

new_transfer_account GET /accounts/:id/new_transfer(.:format)     accounts#new_transfer 

new_transfer_account_transaction GET /accounts/:account_id/transactions/:id/new_transfer(.:format) transactions#new_transfer 

第二個是接近的,但我認爲這真的應該是交易/ new_transfer。如果這是我能做的最好的,那麼我就無法找到創建新鏈接所需的路徑。

任何幫助,將不勝感激。

還嘗試添加特定的匹配。這條路線的link_to是什麼?

match '/accounts/:account_id/transactions/new_transfer', to: 'transactions#new_transfer' 

/accounts/:account_id/transactions/new_transfer(.:format) transactions#new_transfer 

回答

0

您是否嘗試過路線的匹配方法?

他們的榜樣on Rails Guides

match "/patients/:id" => "patients#show" 

希望這有助於!

+0

其實我也試過這個。我仍然不知道link_to路徑是什麼。將編輯與我嘗試的原始帖子。 – Cagilla

相關問題