У меня есть приложение Rails, которое выступает в качестве фонового для приложения iPhone. Всякий раз, когда создается запись, давайте назовем ее message
, я отформатирую строку из приложения iPhone в Ruby DateTime, которая будет сохранена как поле в базе данных. Сама строка была преобразована из NSDate на стороне iPhone. Моя проблема заключается в том, что я хочу преобразовать DateTime обратно в строку, которую можно легко отформатировать в NSDate всякий раз, когда запрос отправляется для сообщений. Есть ли простое решение для этого?Форматирование поля Всякий раз, когда он запрашивается
ответ
Решение для этого - вид. Создание представления в базе данных для доступа к таблице:
create view vw_table as
select <columns that you want>
<code to convert datetime here> as NSDate
from t;
Вы можете использовать представление в приложении, а не за столом.
Теперь мне нужно выяснить, как это сделать через Rails. – jason328
Я считаю, что это так же просто, как использование обычной таблицы. Просто создайте модель поверх представления так же, как и таблицу. –
мнение идея не обязательно плохой, но я мог бы предложить поставить атрибут date_string
на вашей Message
модели, как это:
class Message
def date_string
date.to_s # or however you want to format it
end
end
Затем, когда вы предоставляете свой JSON, включают в себя date_string
. Я не знаю, что вы используете для рендеринга своего JSON, но у меня был отличный опыт работы с RABL.
Боковое примечание: я бы рекомендовал преобразовать в строку вместо NSDate, так как я не вижу в ней ответственности вашего приложения Rails, чтобы узнать, какие приложения будут потреблять его данные. Пусть Rails-приложение является агностиком, и пусть приложение iOS преобразует общую строку в NSDate. –
Большой вопрос: тогда будет ли строка NSDate регистрироваться в моем приложении Rails, когда я хочу фильтровать запрос через это поле? – jason328
- 1. Обновление чата всякий раз, когда он обновляется
- 2. Шаблон T4 запускается каждый раз, когда он запрашивается?
- 3. Rails всякий раз, когда cron
- 4. Rails всякий раз, когда gem
- 5. грабли с всякий раз, когда
- 6. Всякий раз, когда справка плагина
- 7. Получение execption всякий раз, когда он запускается с process.start
- 8. Как открыть файл html всякий раз, когда он изменен?
- 9. PyCharm ошибки отладчик всякий раз, когда он достигает точки
- 10. капитализировать символ строки всякий раз, когда он получает пробел
- 11. Как сделать форму запускать код всякий раз, когда он показывает
- 12. Требуется ли импортировать признак всякий раз, когда он используется?
- 13. Вставьте FormulaArray всякий раз, когда он находит определенную строку текста
- 14. Ember-Data обрабатывает запросы всякий раз, когда он посещает маршрут
- 15. Проблема, когда всякий раз, когда gem
- 16. отображать сообщение всякий раз, когда он находит нуль, когда он извлекает базу данных
- 17. NSProgressIndicator исчезает всякий раз, когда начинается анимация
- 18. Всякий раз, когда работает каждые 2 часа
- 19. Всякий раз, когда не срабатывает работа Sidekiq
- 20. AlarmManager уходит всякий раз, когда открывается приложение
- 21. Отправка сообщения всякий раз, когда полученная почта
- 22. Всякий раз, когда gem Time.now всегда одинаковый
- 23. метод excute всякий раз, когда создается объект
- 24. Rails всякий раз, когда обработка ошибок gem
- 25. Всякий раз, когда селектор запускается, функция триггера
- 26. Rails миграции cronjobs всякий раз, когда
- 27. Всякий раз, когда выполняются задания cron
- 28. всякий раз, когда самоцвет не работает автоматически?
- 29. scalacheck всякий раз, когда значение не распознается
- 30. Использование всякий раз, когда камень с Синатрой
Что случилось с использованием строки, например '2013-04-19 08: 00: 00'? –
Я собираюсь в конце концов написать несколько запросов, требующих, чтобы поле было DateTime для заказа сообщений. Если Rails делает это для меня, даже если поле является строкой. Еще не пробовал. – jason328