我有一个rails 4应用程序,它有两个支架(与你生成的默认支架相同)。我有一个看起来像这样的routes.rb:
resources :companies do
resources :peoples
end
在我添加嵌套路线之前,这两个支架完全独立工作。但是当我添加嵌套路线时,当我访问路线时:
http://localhost:3000/companies/bobs-pizza/peoples/new
并填写人员表格并提交,我收到如下错误:
Routing Error
No route matches [POST] "/companies/bobs-pizza/peoples/new"
my _form.html.erb for peoples scaffold(人与公司之间的关系中的孩子)我改变为这样:
<%= form_for companies_path(@company,@people) do |f| %>
感谢您的帮助。
答案 0 :(得分:1)
运行rake路由并确保companies_path是您需要的正确路由。
答案 1 :(得分:0)
此处:http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for有一个带关联的form_for示例:
例如,如果您的资源已定义关联,则需要向[a]文档添加注释...
<%= form_for([@document, @comment]) do |f| %>
其中:
@document = Document.find(params[:id])
和
@comment = Comment.new
我认为命名的路线类似于:
company_peoples_path(@company)
顺便说一下,如果你有一个名为People的模型,人们会有哪些字段?