Я новичок в ассоциациях ActiveRecord. Я рисую приложение, которое отслеживает, кто должен друг другу денег среди множества пользователей. Модель Expense
и модель User
кажутся естественным выбором, я просто не знаю, как определить взаимосвязь между ними. Например, я хочу отслеживать кредитора ( "владелец" ) и должника каждого расхода, но это действительно просто два внешних ключа, которые возвращаются пользователю. Кроме того, каждый пользователь может иметь несколько затрат (как в качестве кредитора, так и должника). На мой взгляд, до сих пор я думаю, что для ассоциаций есть что-то вроде:
class Expense
# belongs_to or has_one here?
# Not sure about class => User syntax:
# need to alias to foreign keys that reference the same model
belongs_to :creditor, :class => User
belongs_to :debtor, :class => User
class User
# has_many expenses defines a creditor relationship (user owns expense)
# how to define debtor relationship? (belongs_to...?)
has_and_belongs_to_many :expenses
Я читал руководство Rails об ассоциациях, но я все еще довольно потерял внешние ключи и присоединил таблицы. Любой вход очень ценится!