Rails 3路由错误(命名空间路由帮助)

时间:2011-10-30 05:16:01

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

模型关系:

class Project < ActiveRecord::Base
  ...
  has_one :project_team
  ...
end

class ProjectTeam < ActiveRecord::Base
  belongs_to :project
end

控制器:

class Project::TeamController < ApplicationController
  ...
end

路线:

resources :projects do
  namespace :project do
    resources :team
  end
end

表格代码:

= form_for @project do |f|

当我访问新的Project表单时,出现以下错误:

No route matches {:controller=>"project/team", :project_id=>#<Project id: nil, user_id: 1 ...

我尝试过很多变种:

= form_for [:project, :team, @project] do |f|

无济于事。路线刚刚关闭。但是,我正处于新的项目形式,所以我想知道为什么它还是试图抓住项目团队。

感谢您的帮助! [:

2 个答案:

答案 0 :(得分:1)

我们应该在这里使用嵌套资源

resources :projects do
  resource :project_team
end

答案 1 :(得分:0)

我不确定这个问题,但为了修复它,我只是复制了我的控制器名称。