【发布时间】:2012-05-11 02:47:09
【问题描述】:
我在控制器中有一个方法接收这样的参数:
def example
....
params[:Date]
end
我只想验证日期是不是昨天或更早。
这个日期没有录入数据库,那么需要在controller中进行验证,而不是在model中进行验证。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
我在控制器中有一个方法接收这样的参数:
def example
....
params[:Date]
end
我只想验证日期是不是昨天或更早。
这个日期没有录入数据库,那么需要在controller中进行验证,而不是在model中进行验证。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
你在寻找这样的东西吗?
def example
unless Date.strptime(params[:date], '%d/%m/%Y').before? Date.today.beginning_of_day
#did not happen yesterday or before
end
end
【讨论】:
就我而言,我的 params[:at] 看起来像这样:
params[:at]
=> "05-10-2012"
我是这样解析的:
date = Date.strptime(params[:at], "%m-%d-%Y")
如果我想检查是不是昨天或更早,我会去:
date > Date.today.beginning_of_day
但这是 Rails 语法,因为它们已将辅助方法添加到基类。
你的 params[:Date] 是什么样的?这是 Rails 还是普通的 Ruby?
【讨论】: