我工作的一个的Rails 3任务演示项目中的Project
每个实例有很多tasks
,和Task
实例属于一个project
。然而,后一种关系是可选的,尽管它在Task
模型中定义为belongs_to :project
。可选belongs_to的和Rails路由
从本质上讲,我希望能够有像以下途径:
example.com/tasks/1
example.com/tasks/new
example.com/project/1/tasks/1
example.com/project/1/tasks/new
我不知道这是可能的,甚至好的做法。真的,最重要的是我能够从一般的tasks#index
动作中创建无项目任务,并通过new
动作的链接从project#show
动作中属于某个项目的任务。
我读过Rails Routing from the Outside In,但它并没有真正解释我要做什么。
任何帮助将不胜感激。
你可以这样做:Project.tasks.create(PARAMS [:tasks] .merge({:project_id => params [:id]})其中params [:task]只是一个散列,你会传入#create。 – 2011-04-11 00:46:58
明白了你的意见,与设计。建立路线后,我真的不需要改变超出我原来的东西,除了新的link_t标签是'link_to'新任务',@project? “#{@project.id}/tasks/new”:new_task_path' – clem 2011-04-11 00:53:09
真棒,很高兴听到! – 2011-04-11 00:59:38