【发布时间】:2012-02-05 15:51:15
【问题描述】:
我已经搜索和搜索,但我找不到一个说明 Rails 3 中 routes.rb 语法的页面。有指南、概述,甚至是高级示例,但为什么没有说明确切语法的页面每个关键字的??本页
http://www.engineyard.com/blog/2010/the-lowdown-on-routes-in-rails-3/
包含许多高级示例,但没有花时间讨论所有示例的行为。如果有人可以将我指向一个分解 routes.rb 语法的页面,我将不胜感激。
这是我要解决的问题。我有两个模型modelA和modelB。关系是modelA has_many modelB和modelB belongs_to modelA。我在modelA的命名空间下为modelB创建了控制器。所以在我的 rails app 文件夹中,我有
app/controllers/modelA_controller.rb
app/controllers/modelA/modelB_controller.rb
我希望我的路线是这样的:
http://localhost:3000/modelA/:modelA_id/modelB/ [index]
http://localhost:3000/modelA/:modelA_id/modelB/:modelB_id [show]
etc.
我在 routes.rb 中尝试了以下方法,但都不起作用:
resources :modelA do
resources :modelB
end
--
resources :modelA do
member do
resources :modelB
end
end
--
namespace :modelA do
resources :modelB
end
--
match '/modelA/:modelA_id/modelB/action', :to => '/modelA/modelB#action'
我知道我尝试的一些事情显然是错误的,但是当你在一个问题上花费 2 天时间时,一切都会好起来的!
【问题讨论】:
-
您是否尝试过 Rails 的布线指南? guides.rubyonrails.org/routing.html
标签: ruby-on-rails routes nested-routes