Предположим, у меня есть модель User, и я хотел бы позволить каждому пользователю выбирать своих «лучших друзей», которые также являются пользователями, в порядке предпочтения. Таким образом, пользователь может иметь «лучшего друга» и «третьего лучшего друга» и так далее. Я думаю, что я ищу (поправьте меня, если это плохой путь, чтобы спуститься) - это habtm в модели User, с добавленным размером заказа к ним.В Rails Как разрешить пользователям создавать упорядоченный список других пользователей?
Конечной целью является, чтобы позволить мне сделать что-то вроде:
@user.favorite_users
=> упорядоченный список своих любимых пользователей.
@user.favorite_users.each do |user| //iterate through each user in order from best friend to worst friend end
Я использую Ruby, 2.3.0, Rails 4.2.
Вы могли бы быть заинтересованы в Деяниях виде списка драгоценных камней (https://github.com/swanandp/acts_as_list). Позволяет легко реализовать. Я не использовал это для отношений «многие-ко-многим», но я бы предположил, что вам лучше всего использовать отношения «has_many through» и «здесь». Надеюсь, это поможет! – SRack
вам нужно использовать 'has_many, хотя:' not habtm, так как он не позволяет хранить дополнительные данные в таблице соединений. Добавление «фаворитности» к таблице соединений тривиально, но создание многих для многих в одну и ту же таблицу довольно сложно. http://stackoverflow.com/questions/2168442/many-to-many-relationship-with-the-same-model-in-rails – max