2017-03-02 5 views
0

ユーザー認証なしでセッションをセッションに保存することができますが(this)、私のユーザーモデルではど​​うすればいいのか分かりません。私は基本的にアンケートを作成しており、ユーザーのIPアドレスとIDのみを保存したいだけです(私はIRBの目的で他に識別可能な情報はありません)。ユーザーは別のモデルによって参照され、現在のユーザーが調査の回答を所有するようにします。ヒント?認証なしでセッションにセッションを保存する

+0

session[:id] = ... session[:ip_address] = ... 

:あなただけのようなものが必要でしょうか? – Ruslan

+0

@Ruslanわかりません。それは私の問題の一部です。私は基本的に伝統的な資格情報を持たないユーザーを作成したいので、IDの生成方法がわかりません。 – knod

+0

一般的に、実際のコードスニペットを投稿して、より具体的な問題解決の例を得られるようにしてください。このようなかなり一般的な質問をすることは、答えるのが難しく、サイトに役に立たない。いくつかのコードスニペットとあなたが助けてくれる特定の質問を投稿してください、ありがとう! – thaavik

答えて

0

あなたは、ユーザーがに来るとき

def survey_user 
    session[:survey_user] ||= SecureRandom.uuid 
    SurveyUser.find_or_create_by(id: SecureRandom.uuid)   
end 

だから今、ユーザーを追跡するために、あなたはセッションでそれを保存することができ、ユーザー

require 'securerandom' 
SecureRandom.uuid 

のためのユニークなIDを生成するsecurerandomを使用することができますあなたのアンケートには、データベースのモデルがあり、回答との関連付けを作成することができます

+1

ありがとうございました!以前はSecureRandomを見ていなかったので、この答えはRails 5の新しいhas_secure_tokenにつながった。 – knod

+0

@knod喜んで:) – Ruslan

0

セッションを作成する必要はありません。必要に応じて自動的に作成されます。 (それは常にrequestオブジェクトで利用可能であるべきであるので、全くのIPアドレスを格納する必要はないはずですが)IDから来ない場合は

関連する問題