2013-06-20 4 views
0

Я пытаюсь проверить электронные письма, данные из списка электронных писем CSV. Поэтому я создал виртуальный атрибут invite_list, где, когда ему задан список писем, он будет зацикливаться и создать новую запись в модели invite_only_emails.Rails: Как получить ошибки от вложенных моделей

Теперь все в порядке, но как я могу уловить ошибку проверки, вызванную InvitedOnlyEmail во время цикла в модели Users, чтобы я мог использовать эту ошибку в контроллере?

Это моя основная модель:

class Users < ActiveRecord::Base 
attr_accessor :invite_list 
attr_accessible :invite_list 

has_many :invited_only_emails 

    def invite_list=(list) 
    list.split(",").each do |address| 
     self.invited_only_emails.create! :email => address 
     end 
    end 

    def invite_list 
    self.invited_only_emails.map {|email| email.email}.join(',') 
    end 
end 

И это модель invited_only_emails:

class InvitedOnlyEmail < ActiveRecord::Base 
    attr_accessible :email 
    belongs_to :users 

    validates_format_of :email, :with => /^([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})$/i 

end 

Спасибо!

ответ