first_or_create por correo electrónico y luego guarde el modelo anidado

Yo dos modelosUser ySubmission como sigue:

class User < ActiveRecord::Base
  # Associations
  has_many :submissions
  accepts_nested_attributes_for :submissions

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :name, :role, :submission_ids, :quotation_ids, :submissions_attributes

  validates :email, :presence => {:message => "Please enter a valid email address" }
  validates :email, :uniqueness => { :case_sensitive => false }
end

class Submission < ActiveRecord::Base
  belongs_to :user
  attr_accessible :due_date, :text, :title, :word_count, :work_type, :rush, :user, :notes

  validates :work_type, :title, :text,:presence => true
  validates :text, :length => { :minimum => 250 }
  validates :word_count, :numericality => { :only_integer => true }
end

Tengo un formulario que recopila los datos requeridos por estos dos modelos. Controlador de usuarios:

def index
  @user = User.new
  @user.submissions.build
end

def create
  @user = User.where(:email => params[:user][:email]).first_or_create(params[:user])

  if @user
    redirect_to :root
  else
    render 'pages/index'
  end
end

Lo que quiero hacer es primero verificar si el usuario ya existe en el sistema por el correo electrónico enviado. Si es así, quiero crear un envío para ese usuario. De lo contrario, cree el usuario y el envío al mismo tiempo.

Estoy confundido sobre cómo hacer esto con elfirst_or_create método.

Cualquier ayuda apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta