Arhn - архитектура программирования

rails меняет формат даты перед сохранением в БД mysql

У меня есть средство выбора даты, которое я хочу отображать в формате MM/DD/YYYY. Однако я использую базу данных mysql, которая хочет ГГГГ-ММ-ДД. В нынешнем виде это спасение, но день и месяц меняются местами.

Прямо сейчас у меня есть инициализатор date_time_formats.rb, который имеет:

Date::DATE_FORMATS[:default] = '%m/%d/%Y'

Также в моем jscript datepicker у меня есть правильный формат, который я хочу отобразить:

$(this).datepicker({"format": "mm/dd/yyyy", "weekStart": 0, "autoclose": true, "startDate":new Date()});

Я пробовал такие вещи:

 Date.strptime(params[:location], "%d/%m/%Y")

Но я получаю ошибку HashWithIn DifferentAccess.

Как я могу переформатировать дату в хэше параметров перед назначением экземпляру модели? Причина в том, что она, по-видимому, отклоняется от модели, если дата будет недействительной (например, 4 апреля 2013 г. - это нормально, но 20 апреля 2013 г. - нет, потому что нет 20-го месяца). Я большой новичок в рельсах, поэтому, возможно, я ошибаюсь, но похоже, что это работает. Спасибо!


Ответы:


1

попробуйте гем american_date, расположенный здесь: https://github.com/jeremyevans/ruby-american_date

21.03.2013

2

Найдите метод strftime для различных классов дат. Заклинание, которое вам нужно, это Time.local(params[:location]).strftime('%m/%d/%Y'), надеюсь, оно поможет!

21.03.2013

3

Быстрый способ привести дату к правильному формату — захватить ее в контроллере до ее сохранения и использовать strftime для исправления формата. Например:

@model = Model.new(model_params)
@model.date_you_want = @model.date_you_want.strftime('%Y/%d/%m')
@model.save

Это сохраняет дату в правильном формате. (Я также использую гем datepicker-boostrap)

04.12.2014
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..