我工作的一個的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