Rails 5: 找不到友好 id 的记录
Rails 5: Can't find record with 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>
Can't find record with friendly id:
Wine::ActiveRecord_AssociationRelation:0x6133278
问题是 @wines
是一个 集合 ,而不是 单个对象 。因此,当您有 wine_path(@wines)
时,collection 作为 id
传递给控制器方法,而 friendly_id
需要 single记录。你必须改变
<%= link_to "Bestellen", wine_path(@wines), class: "btn btn-form" %>
至
<%= link_to "Bestellen", wine_path(favorite.wine), class: "btn btn-form" %>
解决错误。
如果您没有更新数据库中之前的友好 ID,也可能会触发该错误
然后 运行 YouModel.find_each(&:save)
来自 rails 控制台。
我只是将 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>
Can't find record with friendly id: Wine::ActiveRecord_AssociationRelation:0x6133278
问题是 @wines
是一个 集合 ,而不是 单个对象 。因此,当您有 wine_path(@wines)
时,collection 作为 id
传递给控制器方法,而 friendly_id
需要 single记录。你必须改变
<%= link_to "Bestellen", wine_path(@wines), class: "btn btn-form" %>
至
<%= link_to "Bestellen", wine_path(favorite.wine), class: "btn btn-form" %>
解决错误。
如果您没有更新数据库中之前的友好 ID,也可能会触发该错误
然后 运行 YouModel.find_each(&:save)
来自 rails 控制台。