2017-08-02 47 views
3

我有三個級別深度嵌套的資源,如父母,子女紅寶石較深的資源,評論嵌套三級在軌

Rails.application.routes.draw do 
    resources :parents do 
    resources :children do 
     resources :grand_children 
    end 
    end 
end 

在行動grand_children#new它提醒「家長必須存在」 任何人都可以幫助我如何創建一個嵌套在三級深的grand_children?

+0

GrandChildrenController#new應該有'@grand_children = Parent.find(params [:parent_id])。children.find(params [:children_id])。grand_children.new',同樣用於create動作(使用相同的鏈嵌套),甚至是顯示/編輯操作,因爲如果GrandChildren家長的ID不是1或GrandChildren的孩子ID是不應該能夠看到帶有URL「/ parents/1/children/1/grand_children/2」的GrandChildren#2不是1.這阻止了基本的URL操作。 – MrYoshiji

回答

0

在您的GrandChildren模型中,您可能有belongs_to :child, optional: true,但我不確定這將解決您的路由錯誤,因爲嵌套父路線需要存在。

也許是方法,而不是對你grand_children#new行動,以確保父母child存在,外鍵child_id傳遞在創建一個grand_child紀錄。