Can Rails可以自动解析从表单text_field接收的日期时间

时间:2010-09-28 04:45:20

标签: ruby-on-rails json

Rails可以自动解析从表单的text_field收到的日期时间吗?

# 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 个答案:

答案 0 :(得分:1)

如果您将该参数直接放入模型中,正如rails生成器样板代码所做的那样,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不能像夏令时那样有效。