我只是将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>
3条答案
按热度按时间ds97pgxw1#
找不到友好ID为的记录:Wine::活动记录_关联关系:0x6133278
问题是
@wines
是一个集合,而不是一个单个对象。因此,当您有wine_path(@wines)
时,* 集合 * 作为id
传递给控制器方法,而friendly_id
需要一个 * 单个记录 *。到
以解决错误。
pdkcd3nj2#
如果尚未更新数据库中友好ID之前的记录,也可能会触发此错误
然后从rails控制台运行
YouModel.find_each(&:save)
。flvlnr443#
对我来说,错误发生是因为我使用的是移动性。你应该添加到你的模型
代替