Как установить отношения с Spree :: User? - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь создать функцию друзей поверх платформы Solidus, но у меня возникают проблемы с установлением многих-многих отношений со Spree :: Users. Я пытался создать файл user_decorator.rb (в моделях / spree), но продолжал сталкиваться с ошибкой: «ожидается, что user_decorator.rb определит Spree :: UserDecorator, но не удалось».

Декоратор пользователя:

 Spree::User.class_eval do
   has_many :friendships
   has_many :friends, through: :friendships
 end

Модель дружбы:

 class Friendship < ActiveRecord::Base
   belongs_to :spree_user, :class_name => 'Spree::User'
   belongs_to :friend, :class_name => 'Spree::User'
 end

Ошибка:

https://i.stack.imgur.com/QOpEU.png

1 Ответ

0 голосов
/ 27 февраля 2020

Заменить содержимое в app/models/spree/user_decorator на:

module Spree
  module UserDecorator
    def self.prepended(base)
      base.has_many :friendships
      base.has_many :friends, through: :friendships
    end

    Spree::User.prepend self
  end
end
...