我有3个嵌套路线:class / post / comments我不知道如何编写_form文件中的form_for
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我有3个嵌套路线:class / post / comments我不知道如何编写_form文件中的form_for相关的知识,希望对你有一定的参考价值。
如果有2个嵌套路由:post/comments
,form_for
就像这样(在_form
文件中):
form_for([@post, @post.comments.build])
但在这种情况下,我有3个嵌套路由:class/post/comments
,我不知道如何在_form
文件中编码它。
或者巢3路线还有其他选择吗?
config/routes.rb
Rails.application.routes.draw do
resources :campus do
resources :salas
end
devise_for :users
resources :cursos do
resources :publicacions do
resources :comentarios
end
end
get 'welcome/index'
root 'welcome#index'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
curso_publicacion_comentarios_path GET /cursos/:curso_id/publicacions/:publicacion_id/comentarios(.:format)
comentarios#index
POST /cursos/:curso_id/publicacions/:publicacion_id/comentarios(.:format)
comentarios#create
new_curso_publicacion_comentario_path GET /cursos/:curso_id/publicacions/:publicacion_id/comentarios/new(.:format)
comentarios#new
edit_curso_publicacion_comentario_path GET /cursos/:curso_id/publicacions/:publicacion_id/comentarios/:id/edit(.:format)
comentarios#edit
curso_publicacion_comentario_path GET /cursos/:curso_id/publicacions/:publicacion_id/comentarios/:id(.:format)
comentarios#show
PATCH /cursos/:curso_id/publicacions/:publicacion_id/comentarios/:id(.:format)
comentarios#update
PUT /cursos/:curso_id/publicacions/:publicacion_id/comentarios/:id(.:format)
comentarios#update
DELETE /cursos/:curso_id/publicacions/:publicacion_id/comentarios/:id(.:format)
comentarios#destroy
答案
只需遵循相同的模式:
form_for([@class, @post, @comment])
但请注意,您的代码存在一些问题:
- 不要使用
class
命名变量,关联等等,因为它被Ruby使用,它会让你陷入麻烦。 - 不要过多地嵌套路线。作为Rails guide says,应避免嵌套超过1级。
- 不要初始化表单定义中的对象。在控制器操作中执行此操作,否则您将无法显示验证错误。
以上是关于我有3个嵌套路线:class / post / comments我不知道如何编写_form文件中的form_for的主要内容,如果未能解决你的问题,请参考以下文章