Форматирование результатов ActiveRecord для разбора? - PullRequest
0 голосов
/ 03 июля 2018

У меня есть база данных с записями, которые я могу получить, используя ActiveRecord. В настоящее время используется что-то вроде post.to_yaml выход:

 !ruby/object:Post
  concise_attributes:
  - !ruby/object:ActiveModel::Attribute::FromDatabase
    name: id
    value_before_type_cast: 1
  - !ruby/object:ActiveModel::Attribute::FromDatabase
    name: user
    value_before_type_cast: efy5qC5YmJNml23JowOUrlmfN0D2
  - !ruby/object:ActiveModel::Attribute::FromDatabase
    name: content
    value_before_type_cast: bol4
  - !ruby/object:ActiveModel::Attribute::FromDatabase
    name: location
    value_before_type_cast: '123'
  - !ruby/object:ActiveModel::Attribute::FromDatabase
    name: timestamp
    value_before_type_cast: '12:00'
  new_record: false

Точная коллекция, которую я возвращаю, выглядит следующим образом: record = Post.order(:timestamp).offset(15 * 0).first(15)

Этот возвращенный результат содержит несколько полей, которые будут возвращены приложению Flutter. Данные будут заполнять виджет несколькими полями, такими как content, date и location, все из которых будут возвращены вышеуказанным запросом.

Я мог бы использовать библиотеку Dart для анализа YAML, но есть ли лучший способ сжать возвращаемые значения, чтобы отображались только необходимые поля?

1 Ответ

0 голосов
/ 03 июля 2018

В соответствии с общим описанием, похоже, у вас есть данные из базы данных, и теперь вам нужно выбрать только определенные поля, которые должны быть показаны.

В соответствии с текущим сценарием вы можете использовать что-то вроде:

post.as_json(only: [:content, :name, :location])

В противном случае вы можете изменить используемый запрос, используя оператор выбора для выбора определенных атрибутов из базы данных.

Post.select(:name, :content, :location)

Надеюсь, это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...