首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有双id的嵌套路由

具有双id的嵌套路由
EN

Stack Overflow用户
提问于 2012-08-13 05:06:33
回答 1查看 1.1K关注 0票数 1

我从rails开始,我在使用2个ids的嵌套路由时遇到了问题。

我从以下地址提交表单:

代码语言:javascript
运行
复制
http://localhost:3000/admin/worlds/1/banks/new

然后我被重定向到:

代码语言:javascript
运行
复制
http://localhost:3000/admin/worlds/23/banks/23 

( 23是新银行的id )

问题是,我不能强制这个url在创建操作后的第一个路由上保留第一个id = 1

我在create here上的Admin::Bank控制器:

代码语言:javascript
运行
复制
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

路由:

代码语言:javascript
运行
复制
namespace :admin do
   resources :mondes do
      member do
        resources :banques
    end
  end
end

和rake路由:

代码语言:javascript
运行
复制
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

事实是,我看到:

当我知道我应该获取:world_it/thing/:id/stuff时使用:id/thing/:id/stuff

我尝试了不同的方式来使用重定向,特别是redirect_to admin_banks(world_id, id),但它仍然是一样的。

我很确定这可以通过routes.rb中的匹配来修复,但我现在不能让它工作……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 02:13:31

去掉嵌套资源周围的:member块&它应该可以工作。尝试:

代码语言:javascript
运行
复制
namespace :admin do
  resources :mondes do
    resources :banques
  end
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11925885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档