1

私はレールから始めていますが、2つのIDを持つネストされたルートで問題が発生しています。

次のサイトからフォームを送信します。

http://localhost:3000/admin/worlds/1/banks/new

そして、私はにリダイレクトされます:

http://localhost:3000/admin/worlds/23/banks/23 

(23は新しい銀行のIDです)

id = 1問題は、作成アクション後の最初のルートのように、このURLに最初のURLを強制的に保持できないことです。

ここで作成する私のAdmin::Bankコントローラー:

def create
  @world_bank = Admin::Bank.new(params[:admin_banque])
  @world_bank.world_id = params[:id]
  @world_bank.save!
  redirect_to admin_bank_path(@world_bank.world_id, @world_bank.id)
end

ルート:

namespace :admin do
   resources :mondes do
      member do
        resources :banques
    end
  end
end

そしてレーキルート:

admin_banks GET    /admin/worlds/:id/banks(.:format)          admin/banks#index
POST   /admin/worlds/:id/banks(.:format)          admin/banks#create
new_admin_bank GET    /admin/worlds/:id/banks/new(.:format)      admin/banks#new
edit_admin_bank GET    /admin/worlds/:id/banks/:id/edit(.:format) admin/banks#edit
admin_bank GET    /admin/worlds/:id/banks/:id(.:format)      admin/banks#show
PUT    /admin/worlds/:id/banks/:id(.:format)      admin/banks#update
DELETE /admin/worlds/:id/banks/:id(.:format)      admin/banks#destroy

事実は私が見るということです:

:id/thing/:id/stuff私が得るべきだと知っているとき:world_it/thing/:id/stuff

特にリダイレクトを使用する別の方法を試しましたredirect_to admin_banks(world_id, id)が、同じままでした。

これはroutes.rbの一致で修正できると確信していますが、今のところ機能させることはできません...

4

1 に答える 1

3

ネストされたリソースの周りの:memberブロックを削除すると、機能するはずです。試す:

namespace :admin do
  resources :mondes do
    resources :banques
  end
end
于 2012-08-13T18:13:31.493 に答える