Rails 5:找不到具有友好ID的记录

时间:2018-11-05 12:49:26

标签: ruby-on-rails ruby-on-rails-5 friendly-id

我只是在我的应用程序中添加了friendly_id,并且一切正常,除了一行代码给我一个错误。

当我尝试从收藏夹视图中订购葡萄酒时,出现以下错误。

can't find record with friendly id: "#<Wine::ActiveRecord_AssociationRelation:0x6133278>"


  private
  def set_wine
    @wine = Wine.friendly.find(params[:id])
  end

这是我的葡萄酒视图中的一行:

<div class="col-md-3 right">
 <%= link_to "Bestellen", wine_path(@wines), class: "btn btn-form" %>
</div>

1 个答案:

答案 0 :(得分:0)

  

找不到具有友好ID的记录:   酒:: ActiveRecord_AssociationRelation:0x6133278

问题是@wines是一个集合,而不是单个对象。因此,当您拥有wine_path(@wines)时,集合将作为id传递到控制器方法,而friendly_id则期望有单个记录 。您必须更改

<%= link_to "Bestellen", wine_path(@wines), class: "btn btn-form" %>

<%= link_to "Bestellen", wine_path(favorite.wine), class: "btn btn-form" %>

解决该错误。