gpt4 book ai didi

ruby-on-rails - 如何跳过 Rails 中特定功能的模型验证?

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:31 25 4
gpt4 key购买 nike

我想跳过 Controller 功能的一些模型验证。我是这样做的

型号:

attr_accessible :skip_method_2
validates :name, presence: true, length: { maximum: 50 }, :unless => :skip_method_2
VALID_PHONE_REGEX = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/
validates :phoneno, presence: true,uniqueness: { case_sensitive: false, :scope => :user_id}, format: { with: VALID_PHONE_REGEX }, :unless => :skip_method_2

Controller :

def contacts_callback
@contacts = request.env['omnicontacts.contacts']
@contacts.each do |contact|
next if current_user.contacts.exists?(:email => "#{contact[:email]}")
contact1 = current_user.contacts.new(:skip_method_2 => true)
contact1.name = contact[:name]
contact1.email = contact[:email]
contact1.group = "Others"
contact1.save
end
redirect_to "/contact"
end

我不想通过 :validation => false 保存它。我想跳过 contacts_callback 函数的名称和电话号码验证。但它不起作用。

它在 Controller 中给出错误 -contacts_callback 的未定义局部变量或方法“skip_method_2”。我已经在我的模型中提到了 attr_accessible

最佳答案

更改 validates :name, presence: true, length: { maximum: 50 }, :unless => :skip_method_2

验证 :name, presence: true, length: { maximum: 50 }, :unless => lambda {|x| x.skip_method_2}

也结账 this回答

关于ruby-on-rails - 如何跳过 Rails 中特定功能的模型验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14951899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com