0

正しいルートを作成するのに問題があります。作業中の要素のIDを渡したいのですが、正しく表示されません。

私のルートは次のようになります

resources :accounts
  match 'account-audit' => 'accounts#audited',:as => :accountaudit

そして、私がレーキルートをするとき、私は得ます

          accounts GET    /accounts(.:format)                          accounts#index
                   POST   /accounts(.:format)                          accounts#create
       new_account GET    /accounts/new(.:format)                      accounts#new
      edit_account GET    /accounts/:id/edit(.:format)                 accounts#edit
           account GET    /accounts/:id(.:format)                      accounts#show
                   PUT    /accounts/:id(.:format)                      accounts#update
                   DELETE /accounts/:id(.:format)                      accounts#destroy
      accountaudit        /account-audit(.:format)                     accounts#audited

ページに移動すると、リンクが表示されます

localhost:3000 / account-audit.3

そしてそれは次のように見えるはずです

localhost:3000 / account / 3 / audit

ルートに必要なことを実行させるにはどうすればよいですか?

4

2 に答える 2

0

このようなルートを宣言する必要があります

resources :accounts do
  get :audit, on: :member, as: :accountaudit
end

これにより、のようなリンクが生成されますlocalhost:3000/accounts/account_id/audit。メンバーとコレクションのルートについては、このstackoverlfowの質問を確認してください。

于 2012-07-17T20:01:43.393 に答える
0

あなたがやろうとしているように見えるのは、ネストされたルートです。これにより、アカウント内の監査のための安らかなルートが提供されます。

resources :accounts do
  resources :audit
end
于 2013-12-21T23:34:10.053 に答える