2012-08-12 82 views
0

我开始与铁轨和我有一个问题嵌套的路线与2个ID。嵌套的路线与双ID

我提交表单自:

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

我也得到重定向到:

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

(23是新银行的ID)

的问题是,我无法强制此网址将第一个id = 1保留为创建操作后的第一条路线。

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中一场比赛,但我不能让它现在工作...

+0

看来你把错误的路线代码在这里。我没有在那里看到“世界”和“银行”的资源。 – 2012-08-13 08:18:46

回答

2

摆脱了:在你的嵌套资源&成员块它应该管用。尝试:

namespace :admin do 
    resources :mondes do 
    resources :banques 
    end 
end 
+0

我只是不明白为什么它是如此不同的寿。但是,无论如何! – C404 2012-08-14 07:11:26