У меня есть модель Post и модель User. Пользователи могут любить посты, эта информация хранится в отдельной модели Любви, а не непосредственно в посте, потому что Пользователь должен иметь возможность просматривать записи понравившихся им постов.
У меня есть миграция, например это:
create_table :loves do |t|
t.references :post, null: false, foreign_key: true
t.references :user, null: false, foreign_key: true
end
User.rb
has_many :loves
Post.rb
has_many :loves
Love.rb
class Love < ApplicationRecord
belongs_to :user
has_one :dinner
end
Эта ассоциация делает кажется, не работает, всякий раз, когда я пытаюсь полюбить пост, я получаю эту ошибку:
uninitialized constant User::Lofe
Я понимаю, что слово "Lofe" может показаться опечаткой Любви, о чем я и думал, но перебрал всю кодовую базу и нет экземпляра Lofe
.
В консоли Rails, если я наберу User.first.love
, я получу сообщение об ошибке, указывающее Did you mean? loves
, что, кажется, указывает на то, что ассоциация существует (работает как с пользователями, так и с обедами), но если я тогда наберу User.first.loves
, это будет бросить ту же ошибку неинициализированной константы.