Может ли Rails автоматически анализировать дату и время, полученные из формы text_field - PullRequest
5 голосов
/ 28 сентября 2010

Может ли Rails автоматически анализировать дату и время, полученные из поля text_ поля формы?

# in view
<div class="field">
  <%= f.label :created_at %><br />
  <%= f.textfield :created_at %>
</div>

# in controller
params[:product][:updated_at].yesterday

В настоящее время я получаю следующую ошибку:

undefined method `yesterday' for "2010-04-28 03:37:00 UTC":String

1 Ответ

1 голос
/ 07 апреля 2011

Если вы вводите этот параметр в модель напрямую, как это делает код шаблона генератора рельсов, ActiveRecord позаботится об этом за вас

def create
    @product = Product.new(params[:product])
    @product.updated_at.yesterday #will succeed
    #rest of method
end

Кроме того, что вы застряли с чем-то вроде

DateTime.parse(params[:product][:update_at])

или

DateTime.civil_from_format(:local, year, month, day, hour, minutes, seconds)

Но, по моему опыту, .civil_from_format не работает так, как вы ожидаете при переходе на летнее время.

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