2012-03-14 12 views
0

私のサイトのログインページとパスワードページを設定しようとしています。これはインデックスページに表示されます。私はモデルクラス: "ユーザー"とコントローラクラス "users_controller"を持っています。rails:ユーザーの「サインイン」と「パスワード認証」

実装しようとしている動作は次のとおりです。 ユーザーがサイトのURLを入力すると、次のようにインデックスページが開きます。ユーザーはサインインし、サイトのコンテンツにアクセスできる別のページに移動します。

ここで問題となるのは、フォームのパラメータを受け入れ、「self.authenticate(parameters)」という別の関数に渡して、ステータスを確認して返すようにすることです。

ここで

enter image description here

はusers_controller

class UsersController < ApplicationController 

def index 
    @user = User.new 

    respond_to do |format| 
     format.html 
     #index.html.erb 
    end 
end 


def show 
    @user = User.find(params[:id]) 
    @title = @user.name 
end 

def edit 
    @user = User.find(params[:id]) 
    @title = @user.name 
end 

def destroy 
    @user = User.find(params[:id]) 
end 

def new 
    @user = User.new 
    @title = "Sign Up" 

end 

def create 

end 

エンドのコード

彼女ですeは次の形式です。

<html> 

<h1>Returning Users- Sign In</h1> 
<%= form_for(@user) do |f| %> 

<div class="field"> 
    <%=f.label :email %><br/> 
    <%= f.text_field :email %> 
</div> 

<div class = "field"> 
    <%= f.label :password %><br/> 
    <%= f.password_field :password %> 
</div> 

<div class = "actions"> 
    <%= f.submit "Sign In" %> 
</div> 
<% end %> 



<h1>New Users- Sign Up</h1> 
<%= form_for(@user) do |f| %> 

<div class="field"> 
    <%=f.label :name %><br/> 
    <%= f.text_field :name %> 
</div> 
<div class="field"> 
    <%=f.label :email %><br/> 
    <%= f.text_field :email %> 
</div> 

<div class = "field"> 
    <%= f.label :password %><br/> 
    <%= f.password_field :password %> 
</div> 

<div class = "field"> 
    <%= f.label :password_confirmation, "Confirm Password" %><br/> 
    <%= f.password_field :password_confirmation %> 
</div> 

<div class = "actions"> 
    <%= f.submit "Sign Up" %> 
</div> 

<%end%> 


    <br/> 
<%= debug(params) if Rails.env.development? %> 
<br/> 

    </body> 

助けがあれば助かります。ありがとう

答えて

0

Ryan Batesさんからの最近のRailsCast Authentication from Scratchを見てください。 AuthLogicまたはDeviseなどの共通認証プラグインを使用することもできます。

+0

無料のリソースがあれば素晴らしいと思います。あなたが提案する上記のリンクは、ビューリンクのための有料です。 – banditKing

+0

RailsCastリンクは今やサブスクライバだけですが、あなたは正しいですが、AuthlogicとDeviseリンクはそうではありません。私はあなたのアプリのユニークな機能とは関係ありません。c)おそらくそれをチンコするでしょう。アップ。犯罪ではなく、あなたが思っているよりも絶対に正しいことを得るのはずっと難しいことです。 –

+0

あなたの助言をありがとう – banditKing

0

私はあなたに何をしたいか説明します。

params[] 

次に、あなたが渡すことによって、フィールドの値を取得することができ、それは次のように、識別です:

あなたは、ハッシュのparamsを使用してのparamsを取得することができます

params[:id] 

または

params[:name] 

できるだけself.authenticate(parameters)に渡してください(この方法の仕組みがわからない)。

関連する問題