User
является вложенным атрибутом Announcement
. Когда создается новый announcement
, он создает новый user
, если его электронная почта не найдена. В противном случае он должен просто отправить announcement
в существующую запись user
.
Я не уверен, какой обратный вызов использовать before_create
или before_save
. Следующий код по-прежнему не позволяет размещать новый announcement
в существующей записи user
. Полный новичок, пожалуйста, помогите.
class Announcement < ActiveRecord::Base
attr_accessible :content, :users_attributes
has_many :users, :through => :awards
accepts_nested_attributes_for :users, :reject_if => lambda { |a| a[:email].blank? }, :allow_destroy => true
before_save :find_user
private
def find_user(user)
If User.find(params[:email]).nil?
@user = User.new
@user.save
else
@user = User.find(params[:email])
end
end