1

Request クラスのコントローラー内に新しいユーザーを作成しようとしていますが、問題があります。以下は、リクエストコントローラー内の「作成」アクションです。User.new を呼び出すことはできませんが、正しい POST アクションを構築する方法がわかりません。

def create
  @request = Request.new(params[:request])
  @user = User.find_by_email(@request.email)
  if @user.present?
    @request.user_id = @user.id
    @request.save
  else
    user = User.new
    user.email = @request.email
    user.zip = @request.zip
    user.save
    @request.user_id = user.id
    @request.save
  end

  respond_to do |format|
    if @request.save
      UserMailer.request_confirmation(@request).deliver
      UserMailer.request_notification(@request).deliver
      format.html { redirect_to confirmation_url }
      format.json { render json: @request, status: :created, location: @request }
    else
      format.html { render action: "new" }
      format.json { render json: @request.errors, status: :unprocessable_entity }
    end
  end
end
4

1 に答える 1