在轨道上的红宝石中嵌套三层深度资源

时间:2017-08-02 18:02:11

标签: ruby-on-rails ruby nested resources

我有三级深度嵌套资源,例如父级,子级,评论

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

在行动grand_children#new中,它会警告"父母必须存在" 谁能帮助我如何创建一个嵌套在三层深度的grand_children?

1 个答案:

答案 0 :(得分:0)

在您的GrandChildren模型中,您可以拥有belongs_to :child, optional: true,但我不确定这将解决您的路由错误,因为嵌套路由需要父级存在。

或许解决方案是让您的grand_children#new操作确保父{1}}存在,并在创建child记录时传入外键child_id