Rails-嵌套对象删除



我想删除user拥有的嵌套对象book。在user#show页面中,会显示与该user相关的所有books。除了每本书,还有一个链接到delete it。这是我的代码:

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 %>

相关内容

  • 没有找到相关文章

最新更新