Краткий ответ: нет. Классы, включенные в has_many
, belongs_to
, has_and_belongs_to_many
, живут в ActiveRecord и создают запросы SQL, чтобы заставить работать ассоциации.
Тем не менее, вы можете сделать так, чтобы это выглядело как ассоциация, вам просто нужно написать свои собственные методы. На который вы ответили на вопрос, на который вы ссылались.
Итак, добавьте столбец к вашей модели контактов, который является user_id
или любым другим ключом, который вам нужно передать в вашу User.find
модель ActiveResource, и вы могли бы стать частью договора об ассоциации, например так:
class User < ActiveResource::Base
# boilerplate ActiveResource url stuff
def contacts
Contact.find(:all, :conditions => { :user_id => self.id })
end
end
class Contact < ActiveRecord::Model
def user
User.find_by_user_id(self.user_id)
end
end
Существует гораздо больше, что вы получаете от has_many
бесплатно, но в этом суть.