Rails 5: не могу найти запись с дружественным идентификатором - PullRequest
0 голосов
/ 05 ноября 2018

Я просто добавляю 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 голосов
/ 05 ноября 2018

Не могу найти запись с дружественным идентификатором: Вино :: 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" %>

для устранения ошибки.

...