如何解决Rails-嵌套对象删除
| 我想删除嵌套对象“ 0”,该对象由“ 1”拥有。在user#show
页面中,出现与user
相关的所有books
。除了每本书之外,还有指向“ 5”的链接。这是我的代码:
routes.rb
:
resources :users do
resources :books,:only => [:new,:create,:destroy]
end
book_controller.rb
:
def destroy
@user= User.find(params[:user])
@book = Book.find(params[:book])
@book.destroy
redirect_to current_user
end
在user#show
页面中:
<%= link_to \"Delete\",user_book_path(current_user,book),:method => :delete %>
我知道这是错误的,但是如何删除想要的书呢?
解决方法
删除时,您可能会忘记它是嵌套资源的事实。您知道您正在谈论的是哪本书,因此您可以直接将其删除。
路线:
resources :users do
resources :books,:only => [:new,:create]
end
resources :books,:only => :destroy
书本控制器:
def destroy
@book = Book.find(params[:id])
@book.destroy
redirect_to current_user
end
视图:
<%= link_to \"Delete\",book_path(book),:method => :delete %>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。