validate_password_policy
全部标签 我有一个基本的ActiveRecord模型,其中我有两个要验证的字段。要求是至少有一个字段必须有值。两者都可以有值,但至少有一个需要有值。我该如何表达validates_presence_of声明?例如:validates_presence_of:main_filevalidates_presence_of:alt_file我不希望只有其中一个为空时才产生错误,只有两个都为空时才产生错误。 最佳答案 validates_presence_of:main_file,:if=>Proc.new{|p|p.alt_file.blank?}
我有一个JavaScript对象,并使用DouglasCrockford'sJSONutility将其转换为JSON.在发送AJAX后请求时,我得到:REXML::ParseExceptiondoesnothaveavalidrootREXML::ParseException(Thedocument"{\"name\":\"asda\",\"deadline\":\"May24,2011\"}"doesnothaveavalidroot):我无法继续处理此错误。 最佳答案 发出AJAX请求时,您可能发送了错误的Content-Typ
我有一个非常特殊的情况,我想强制模型实例无效。像这样:user=User.newuser.valid?#trueuser.make_not_valid!user.valid?#false有什么办法可以实现吗?谢谢! 最佳答案 你可以这样做:validate:forced_to_be_invaliddefmake_not_valid!@not_valid=trueendprivatedefforced_to_be_invaliderrors.add(:base,'hasbeenforcedtobeinvalid')if@not_val
我刚刚在Bloc完成了我的ruby基础类(class),我开始全神贯注于Rails开发。事情进展顺利,直到我遇到了设计和确认电子邮件的障碍。我尝试使用谷歌搜索并四处寻找其他一些问题,但没有真正找到任何可以给我任何可以借鉴并适用于我的情况的问题。我在注册帐户时收到以下错误消息。Net::SMTPAuthenticationErrorinDevise::RegistrationsController#create535认证失败:错误的用户名/密码从第976行附近的源代码中提取的错误defcheck_auth_response(res)unlessres.success?raiseSMT
在ActiveRecord模型中,当还使用validates_length_of时,使用validates_presence_of是否被认为是最佳实践/必要?例如:classCompany5..30end对我来说,这似乎是多余的。长度在5到30之间意味着该属性也存在,但我看到它无处不在。这也意味着用户会收到两条关于同一缺失属性的错误消息,而实际上只需要一个。我是否遗漏了什么,或者人们在验证数据时是否过于热心? 最佳答案 validates_presence_of在与validates_length_of一起使用时完全多余,除非您提供
我刚刚开始理解Ruby。我的背景是.NET和PHP。在Rails中,而且我确信在其他框架中,我在类中看到类似这样的内容:classPersontrueend“验证”到底是什么?它是一个函数吗?如果它是一个函数,那么验证实际上是如何工作的,因为您没有告诉验证函数您正在验证哪个模型?我在哪里可以阅读更多有关幕后实际工作原理的信息? 最佳答案 这...有点复杂-但简短的回答是validates是Person的类方法,继承自ActiveRecord::Base.该行同样可以写成validates(:terms_of_service,:acc
我在连接Postgres数据库时遇到问题。我为它创建了一个用户(它从未提示我输入密码),所以我运行命令ALTERUSERuser_nameWITHPASSWORDpassword来创建一个。我在Rails项目的配置目录下的database.yml文件中设置了用户名和密码。它仍然告诉我身份验证失败(如我的头衔),我不知道为什么。我根据这个link的答案修改了我的pg_hba.conf文件.我能想到的唯一可以解决这个问题的方法就是让我的用户成为super用户。但是我想知道为什么现在不让它成为super用户就不能工作。有人知道吗?编辑:=>BootingThin=>Rails3.2.11ap
我正在使用RubyonRails3.0.9和RSpec2。我知道使用RSpec和before_validation回调存在一些已知问题,因为before_validation在spec文件中运行时似乎不会被触发。您可以找到很多类似的问题(例如,通过执行Googlesearch)。我想知道目前是否有人想出了解决这个问题的方法?P.S.:我读到一些人建议使用模拟,其他人建议从before_validation切换到其他回调(例如:到before_save)或使用save(:validate=>false)方法(因此跳过验证)...等等...但似乎没有人解决了“真实”的问题。您认为在这种情况
我有一个ActiveRecord模型,其方法定义如下:defstateifdeleted?:deletedelse:expiredendend“search_method”在模型中定义为:search_method:state在View中:=form.select:state,{:expired=>'Expired',:deleted=>'Deleted'}.invert,:include_blank=>'All'对于Meta_search,此方法运行良好。但是当我用Ransack替换gem时,我在示例Controller中得到:ArgumentError没有有效的状态谓词。我正在遵循
我是编码新手-没有足够的声誉来评论这个答案:Rails3:Uniquenessvalidationfornestedfields_for所以我将这个问题创建为“第2部分”:)我是一名网页设计师,但我对学习编码充满好奇,从我小时候就一直坚持着这一点。#app/validators/nested_attributes_uniqueness_validator.rbclassNestedAttributesUniquenessValidator上面带有“ActiveModel::EachValidator”的代码抛出这个错误:““区域1”的未定义方法`map':字符串”#app/valida