0

我正在使用带有 Rails 的 JQuery mobile,但是当我想从表中删除特定记录时,它最终会删除表中的所有内容..

  <% @item.each do |basket| %>
      <li data-icon="minus" id = "clicker"><a href="#">
        <img src=<%= basket.item.item_media.url%> />
        <h3><%= basket.item.brand %> </h3>
        <p><%= basket.item.short_description %> </p></a>
       <a><%= link_to "Delete From Basket",{:controller => "items", :action => "delete_from_basket", :item_id => basket.item.id}%></a>
      </li><% end %> </ul>

这是我的 delete_from_basket 方法。

 def delete_from_basket
  random = params[:item_id]
  @item = ConsumerUsersActivebasket.where(:user_id => current_user.id,:item_id => random).first.destroy
end
4

1 回答 1

1

尝试代替

 <a><%= link_to "Delete From Basket",{:controller => "items", :action => "delete_from_basket", :item_id => basket.item.id}%></a>

这个

 <%=link_to "Delete From Basket", item_delete_from_basket_path(basket.item)%>

在控制器中试试这个:

def delete_from_basket
  @item = Item.find(params[:item_id])
  if @item.user_id == current_user.id
     @item.destroy
  end
end
于 2013-07-08T16:37:33.243 回答