я сделал так
Решение не очень красивое но другой альтернативы я не нашел
class Clientsale < ActiveRecord::Base attr_accessible :comment, :company_name, :dolznost, :email, :fio, :phone, :project_id, :url_name, :user_id #validates :email, email_format: { message: "Ошибка при вводе email", allow_nil: true, allow_empty: true } validates_each :email, :phone do |record, attr, value| record.errors.add(attr, 'Хотя бы один контакт должен быть указан') if $test_clientsale_00163563213_find_me_in_def_contact_test.empty? end validates_each :company_name, :url_name do |record, attr, value| record.errors.add(attr, 'Хотя бы один параметр (Адрес сайта или Название компании) ') if $test_url_and_name_company_56456456__find_me_in_def_contact_test.empty? end before_validation :contact_test before_save :set_user_project private def contact_test $test_clientsale_00163563213_find_me_in_def_contact_test = self.phone.to_s + self.email.to_s $test_url_and_name_company_56456456__find_me_in_def_contact_test = self.company_name.to_s + self.url_name.to_s end def set_user_project self.user_id = User.current.id project = Project.new project.name = "text" project.identifier = "project" + generate_sufix self.project_id = project.id if project.save end def generate_sufix Time.new.to_i.to_s + Random.new.rand(1_000_000..9_999_999).to_s end end
Комментариев нет:
Отправить комментарий