я сделал так
Решение не очень красивое но другой альтернативы я не нашел
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
Комментариев нет:
Отправить комментарий