Я создаю приложение Rails, в котором есть данные о Конгрессе США. У каждого депутата есть своя страница. Я хочу, чтобы пользователи моего приложения могли добавлять определенных законодателей в избранное. Я создал ресурс законодателя, а также ресурс пользователя в своем приложении. У меня также есть модель Favorites для has_many через ассоциацию.
Модель пользователя выглядит следующим образом:
class User < ActiveRecord::Base
has_many :favorites
has_many :legislators, through: :favorites
has_many :bills, through: :legislators
end
Я еще не реализовал функцию "добавить депутата в избранное". Сейчас страница обновления/редактирования пользователя используется только для обновления информации о пользователе.
Мой вопрос заключается в том, как спроектировать/структурировать эту функцию. Должен ли я добавить в модель пользователя метод для добавления/удаления законодателей из избранного и изменить метод update
в пользовательском контроллере для обработки добавления/удаления избранного? Или я должен вместо этого использовать контроллер Избранное?
У меня есть пара идей о том, как это сделать, но я не уверен, что будет самым чистым/RESTful способом.