Попробуйте это:
def belongs_to? a, b
b.reflect_on_all_associations(:belongs_to).
any?{|bta| bta.association_class == a}
end
Примечание :
Этот вопрос остался без ответа, когда я начал отвечать. После завершения ответа я заметил ответ, опубликованный @zeteic. Я оставляю ответ в силе, так как это решение будет работать даже в тех случаях, когда имя ассоциации не соответствует названию модели.