2012-03-14 2 views
0

내 사이트에 대한 로그인 및 비밀번호 페이지를 설정하려고합니다. 색인 페이지에 표시됩니다. 모델 클래스가 있습니다 : "사용자"및 컨트롤러 클래스 "users_controller".레일 : 사용자의 "로그인"및 "비밀번호 인증"

Im이 구현하려고하는 동작은 다음과 같습니다. 사용자가 사이트의 URL을 입력하면 사용자가 아래 그림과 같이 색인 페이지를 엽니 다. 그런 다음 사용자는 로그인하여 사이트 콘텐츠에 액세스 할 수있는 다른 페이지로 이동합니다.

이제는 "def index"함수를 사용하여 폼의 매개 변수를 받아들이고이를 "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 링크는 그렇지 않습니다. Google은 자습서 등을 위해 그 중 하나를 사용합니다. AuthLogic을 사용하거나 자신의 인증 대신에 비슷한 기능을 사용하는 것이 좋습니다. a) 재미가 없습니다. b) 앱의 고유 기능과 아무 관련이 없습니다. c) 쪽으로. 불쾌감을 느끼지 않고, 생각하는 것보다 절대적으로 옳은 것을 얻는 것이 훨씬 더 어렵습니다. –

+0

조언 해 주셔서 감사합니다. – banditKing

0

나는 당신이하고 싶은 것을 당신에게 설명 할 것입니다.

params[] 

그런 다음 전달하여 필드의 값을 얻을 수있는이 같은 인식이다 :

당신은 해시 PARAMS를 사용하여 PARAMS를 얻을 수 있습니다

params[:id] 

또는

params[:name] 

이제 가능한 방법으로 self.authenticate(parameters)으로 전달합니다 (이 방법이 어떻게 구현되는지 모르겠 음).).