Ruby on rails 基于另一个属性验证一个属性的值';s值
如果给定属性存在,如何强制另一个属性的存在Ruby on rails 基于另一个属性验证一个属性的值';s值,ruby-on-rails,validation,activerecord,Ruby On Rails,Validation,Activerecord,如果给定属性存在,如何强制另一个属性的存在 我有一个具有国家和州属性的用户模型。我想验证当用户尝试注册时,他没有绕过客户端验证并提交带有params[:country]=“canada”和params[:state]=“new_york”的恶意请求一个示例实现: validates :state, inclusion: { in: [ON, BC, AB], message: "%{state} is not valid" }, if: :country_is_canada? def
我有一个具有国家和州属性的用户模型。我想验证当用户尝试注册时,他没有绕过客户端验证并提交带有
params[:country]=“canada”
和params[:state]=“new_york”
的恶意请求一个示例实现:
validates :state, inclusion: { in: [ON, BC, AB],
message: "%{state} is not valid" }, if: :country_is_canada?
def country_is_canada?
country == 'Canada'
end
我不明白你的意思。。请澄清。如果我没有错,您想验证用户是否来自加拿大,他应该不能选择纽约作为他的州,对吗?@sontya选择是客户端,验证已完成,我不希望使用gem@propster-通过选择,我的意思是说将其保存到数据库,我的错误。所以,在某个地方,你可以写下哪些国家应该允许哪些国家是正确的。如果你想验证一个属性的存在,那么看看下面的问题:spot on。我想你有一个拼写错误tho@railsouter在有效的Hanks之后,更正了。这就是当你这么快回答问题时会发生的事情,哈哈