没有破坏子协会元素的路线

时间:2013-07-16 19:40:12

标签: ruby-on-rails ruby-on-rails-3

我有两个型号

Parent
  has_many :children

Child
  belongs_to :parent

我希望有一条干净的铁路可以摧毁父母的孩子。

resources :parents do
  resources :children do
    delete 'destroy'
  end
end

但是在调用parent_child_destroy_path

时出错
No route matches {:action=>"destroy", :controller=>"ads"}

然而,行动仍然存在......

任何人都知道如何获得这么干净的路线吗?

1 个答案:

答案 0 :(得分:1)

干净的铁路线是什么意思?您已拥有嵌套资源所需的一切:

resources :parents do
  resources :children
end

然后像这样调用destroy动作:

<%= link_to 'Destroy', parent_child_path(@parent, child), :method => :delete %>

根据您定义的路线,您应该写:

<%= link_to 'Destroy', parent_child_destroy_path(@parent, child), :method => :delete %>

哪个不干净。