#ruby-on-rails-3 #activerecord #model #foreign-keys #foreign-key-relationship
#ruby-on-rails-3 #activerecord #Модель #внешние ключи #foreign-key-relationship
Вопрос:
У меня есть две модели, Like и Photo.
class Like < ActiveRecord::Base
belongs_to :photo, :class_name => "DataLike", :foreign_key => "photo_id"
end
class Photo < ActiveRecord::Base
has_many :likes
end
И теперь я пытаюсь выполнить этот запрос:
query = Like.select(:photo_id).joins(:photo).count
Но я все еще получаю эту ошибку:
неинициализированная константа типа::DataLike
Кто-нибудь может мне помочь, пожалуйста, что я делаю не так?
Большое вам спасибо
Ответ №1:
Похоже, у вас нет DataLike
модели, я предполагаю, что вы хотите связать с Photo
моделью:
class Like < ActiveRecord::Base
belongs_to :photo, :foreign_key => "photo_id"
end
class Photo < ActiveRecord::Base
has_many :likes
end
Если вы оставите эту :class_name
опцию, Photo
модель будет выведена. Он используется для указания класса связанной модели, если он отличается от имени ассоциации.