Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 自定义验证不起作用_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 自定义验证不起作用

Ruby on rails 自定义验证不起作用,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我写了自己的基本验证: validate :valid_date, allow_blank: true ..... private def valid_date a = geburtsdatum.split('.') Date.valid_date?(a[2],a[1],a[0]) end 在我的post请求中传递给方法的参数为: {"patient"=>{"vorname"=>"sdfss", "name"=>"sdf", "geburts

我写了自己的基本验证:

 validate :valid_date, allow_blank: true  
 .....

   private
def valid_date
    a = geburtsdatum.split('.')
    Date.valid_date?(a[2],a[1],a[0])
end
在我的post请求中传递给方法的参数为:

 {"patient"=>{"vorname"=>"sdfss", "name"=>"sdf", "geburtsdatum"=>"45.23.1994"}} 
但不知怎的,它不起作用,我得到了这个错误:

 undefined method `split' for nil:NilClass

意味着我无法正确访问参数
geburtsdatum
!我怎样才能解决这个问题?谢谢

您需要在验证程序中添加一个错误:

def valid_date
  a = geburtsdatum.split('.')
  errors.add(:<invalid_field_name>, 'is invalid') unless Date.valid_date?(a[2],a[1],a[0])
end
def有效日期
a=geburtsdatum.split('.'))
错误。添加(:,'is invalid'),除非日期。有效日期?(a[2],a[1],a[0])
结束

有效吗?
方法简写为do:1。运行验证,2。返回
错误。有吗?

很抱歉,我收到了相同的错误<代码>geburtsdatum为零!你不认为我必须以param的身份访问geburtsdatum吗?啊,这与验证无关。您可以显示控制器将此参数分配给模型的操作吗?否,这是我的模型中的验证:
validate:valid\u date,allow\u blank:true
是,但验证失败,因为参数分配不正确。找出我为什么要看作业。