2015-07-01 36 views
1

以下Rails 4 link_to是错误的,因此我无法删除并不确定原因。在这个项目中, “书签” 是 “用户”,所以耙路线下一个嵌套的资源给了我:从Rails 4视图中删除link_to

DELETE /users/:user_id/bookmarks/:id(.:format)      bookmarks#destroy 

查看:

<% @bookmarks.each do |bookmark| %> 
    <%= link_to "delete", user_bookmarks_path(@user, bookmark.id), method: :delete %> 
<% end %> 

控制器:

def destroy 
    @user.bookmarks.find(params[:id]).destroy 
    redirect_to root_path 
end 

private 

def bookmark_params 
    params.require(:bookmark).permit(:title, :bookmark_url) 
end 

def get_user 
    @user = User.friendly.find(params[:user_id]) 
end 

结果是链接看起来像http://www.example.com/users/jane-doe/bookmarks.6其中6是要删除的书签的正确ID。但我不明白为什么它不会创建/书签/ 6,我认为这可以在我的控制器中使用销毁。感觉好像有一些很大的概念,我只是不理解。任何提示都表示赞赏。

回答

0

您的看法应该看起来像这样。看起来你的路径名称不正确:

<% @bookmarks.each do |bookmark| %> 
    <%= link_to "delete", user_bookmark_path(@user, bookmark.id), method: :delete %> 
<% end %>