Как преобразовать метки времени (created_at) в рельсах 6? - PullRequest
0 голосов
/ 04 августа 2020

Эй, как мне преобразовать это: 2020-08-04 T13:31:44.342Z в это: 2020-08-04 в рельсах 6? Я не могу найти ответ на этот вопрос, потому что все ответы устарели и ненадежны.

Я ссылаюсь на created_at в моем Vue интерфейсном приложении.

Итак что я должен добавить в мою миграцию, чтобы показать это, или это то, чем я должен управлять в моем интерфейсе ??

my createData migration:

class CreateData < ActiveRecord::Migration[6.0]
  def change
    create_table :data do |t|
      t.float :temperature
      t.float :windspeed
      t.references :user, foreign_key: true

      t.timestamps
    end
  end
end

Ответы [ 2 ]

3 голосов
/ 04 августа 2020

Я бы посоветовал оставить метки времени рельсов как есть. Они представляют собой отметку времени создания и обновления и должны быть DateTime. То, как вы хотите представить свои данные в Интернете, - это свойство вашего внешнего интерфейса.

В vue вы можете передать метку времени через фильтр.

Проверить vue-moment . Он предоставляет вам фильтрацию по популярной библиотеке моментов, которую вы можете использовать для воспроизведения временных меток в желаемом формате.

<span>{{ created_at | moment("YYYY-MM-DD") }}</span>

1 голос
/ 06 августа 2020

Кажется, было бы проще просто управлять датой в вашем интерфейсе, используя, например, JavaScript s substring.

"2020-08-04 T13:31:44.342Z".substring(0, 10) // "2020-08-04"

...