【问题标题】:Deleting with link_to from within a Rails 4 view在 Rails 4 视图中使用 link_to 删除
【发布时间】:2015-07-01 01:20:21
【问题描述】:

以下 Rails 4 link_to 是错误的,因此我无法删除,不知道为什么。在这个项目中,“书签”是“用户”下的嵌套资源,所以 rake 路由给了我:

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。但我不明白为什么它没有创建 /bookmarks/6,我认为它可以在我的控制器中与 destroy 一起正常工作。感觉好像有一些我只是不理解的大概念性作品。任何提示都表示赞赏。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 link-to


    【解决方案1】:

    您的视图应如下所示。您的路径名似乎不正确:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多