Rails 3 - модель выпуска, внешний ключ - PullRequest
1 голос
/ 02 ноября 2011

У меня есть две модели, лайк и фото.

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

Но я все еще получаю эту ошибку:

неинициализированная константа Like :: DataLike

Может ли кто-нибудь помочь мне, пожалуйста, что я делаю не так?

Большое спасибо

1 Ответ

3 голосов
/ 02 ноября 2011

У вас, похоже, нет модели 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 будет выведена. Он используется для указания класса связанной модели, если он отличается от имени ассоциации.

...