1

私はroutes.dbで定義されたネストされたリソースを持っています:

resources :accounts do
  resources :transactions do 
end

'new'に似たルートを作成したいのですが、アクションは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

2つ目は近いですが、実際にはtransactions/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
4

1 に答える 1

0

ルートの一致方法を試しましたか?

Railsガイドに関する彼らの例:

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

お役に立てれば!

于 2012-10-05T14:46:15.610 に答える