Объект, в таблице которого содержится внешний ключ «own_to», объекта, которого нет.
Если у Клиента есть контакт и Контакт принадлежит ему, то в таблице контактов будет существовать внешний ключ (по умолчанию "идентификатор клиента")
Вы, вероятно, не хотите использовать «id» в качестве внешнего ключа, поскольку «id» зарезервировано для столбца, содержащего идентификатор контакта. Указывать имя класса также не требуется, поскольку имя класса совпадает с именем отношения (в данном случае, «customer»).
Клиент будет иметь:
has_one :contact
Контакт будет иметь:
belongs_to :customer
Тогда, если вы хотите найти контакт с определенным клиентом, вы можете просто позвонить:
@customer.contact
или наоборот.
Ваш другой вопрос относительно find_by_XXX немного расплывчатый. Если вы хотите найти всех клиентов с именем «Джон», вы можете использовать:
@customers_named_john = Customer.find_by_firstName("John")
Но я не уверен, что вы об этом спрашиваете.