0

現在のプロジェクトでは、認証にDevisegemを使用しています。カスタムフォーム内でデバイス登録とログインフォームを使用する際に問題が発生し、プロジェクトに実装する方法がわかりません。

このカスタムフォームには20〜25のフィールドがあり、現在のユーザーがログインしていない場合は、デバイスのログインフォームと登録フォームも同じビューに含めたいと思います。したがって、ユーザーがフォームの保存ボタンを押すと、コントローラーは最初にユーザーを認証または登録し、後でフォームを保存します。

class BookController < ApplicationController
    def new
        @book = Shop::Book.new
    end

    def create
        @book = Book.new(params[:book])

        # TODO::
        # validate / register the user if not currently logged-in

        if @book.save
            redirect_to :action => 'list'
        else
            @subjects = Subject.find(:all)
            render :action => 'new'
        end   
    end
end
4

1 に答える 1

2

Digi_Cazterのリンクを確認し、signed_inを確認した後にフォームを追加しますか?

createメソッドでは、次のようなものが機能するはずです。

   @user = User.new(:email => 'test@example.com', :password => 'password',    #values from params   
   :password_confirmation => 'password')
   @user.save
   sign_in @user  #if you want to do this

       if @book.save
            redirect_to :action => 'list'
        else
            @subjects = Subject.find(:all)
            render :action => 'new'
        end 
于 2012-05-17T20:31:05.667 に答える