我有一个名为Schedule的模型,属于一个项目。一个项目有一个计划。我试图遵循CRUD约定,但有一些困难。我有一个列出所有项目的页面,并在每个项目旁边有一个链接来创建一个时间表。我开始在我的路由文件中使用以下内容:轨道路线与:id不工作
这是问题所在。在“新时间表”页面的网址中,需要有一个:表示该时间表所属的项目的id,这样,创建时间表时,它将属于正确的项目。我不知道的方式来做到这一点与资源,所以我改变了我的路线代码:
match 'schedules/new/:id', to: 'schedules#new', as: :new_schedule, via: [:get, :post]
resources :schedules, except: [:new, :create]
出于某种原因,这个页面是空白的。它只是白色的。我如何修复我的路线?谢谢。
UPDATE:
我也试图改变我的路线如下:
resources :projects do
resources :schedules
end
这使得网址新日程表的形式:
/projects/:project_id/schedules/new(.:format)
我觉得这是应该如何完成的,但是,新时间表的形式写为
form_for @schedule
,并产生以下错误:
undefined method `schedules_path'
任何想法?
谢谢。这几乎解决了它。但由于某些原因,它不会保存。当我提交表单时,它给了我下面的错误:'不能写未知属性'schedule_id''。 – Philip7899
这是什么错误?请更新您的问题以包含您的控制器代码/堆栈跟踪。 – zeantsoi
一些我在堆栈溢出时收到的最快最好的建议。万分感谢! – Philip7899