Поскольку, похоже, в таблице персон у вас есть Favorites_pet_id (как и вы), вам нужно использовать ассоциацию "own_to" вместо "has_one", например так:
class Person < ActiveRecord::Base
has_many :pets # pets table has a person_id
belongs_to :favorite_pet, :class_name => 'Pet' # persons table has favorite_pet_id
end
class Pet < ActiveRecord::Base
belongs_to :person # using person_id in pets table
end
Это должно исправитьваша проблема.Надеюсь, это поможет!