Rails嵌套路由非常疯狂

时间:2012-03-05 14:59:25

标签: ruby-on-rails ruby ruby-on-rails-3

两个模型:Window(belongs_to:window_input)和WindowInput(has_many:windows),当我把它放在routes.rb中时:

resources :window_inputs do
    resource :window
end

rake routes结果为:

new_window_inputs_window GET    /window_inputs/windows/new(.:format)

正确的路由应该是:/window_inputs/:window_input_id/windows/new(.:format)。我想知道这个错误来自两个模型的名字。我使用sqlite和rails 3.2.2。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

嵌套时不要忘记将第二个资源声明为第一个资源的子项:

resources :window_inputs do |window_inputs|
  window_inputs.resources :windows
end

它被声明为简单的命名空间,而不是依赖,除非你以这种方式引用它。