Во-первых, я новичок в рельсах, поэтому извините, если есть что-то, что я не понимаю правильно. Мне интересно, как я могу заполнить модель выборкой данных через API.
Контекст: я использую аутентификацию OAuth2 с omniauth/devise.
На стороне клиента моего пользовательского контроллера (напротив провайдера) я извлек всех пользователей, которые хотя бы раз вошли в систему, это «клиентское приложение», и я хочу их отобразить. Очевидно, каждый раз, когда новый пользователь входит в клиентское приложение, я не сохраняю всю его информацию в клиентской базе данных, чтобы избежать дублирования. Все, что я храню, это user_id вместе с его токеном доступа.
Поэтому я подумал, что после извлечения всех данных пользователей я мог бы заполнить их пользовательской моделью, прежде чем передавать их в представление. Как лучше всего это сделать? Я изучал именованную область, но мне не ясно, как применить ее к моему конкретному сценарию. Например, было бы здорово иметь возможность заполнять всех пользователей в моей модели, используя что-то вроде этого:
# ApiRequest is a container class for HTTParty
get = ApiRequest.new.get_users(User.all) // here "get" is a JSON array of all users data
response = get.parsed_response['users']
User.populate(response).all # would something like this possible? If yes, is Named Scope the appropriate solution?
Заранее большое спасибо за помощь.
scope :only_active, where(active: true)
используется при вызовеMyModel.only_active
, который возвращает список объектов MyModel, соответствующих условию active = true. Это не имеет ничего общего с присвоением атрибутов. - person MrYoshiji   schedule 20.12.2013