2011-12-11 2 views
0

현재 저는 책을 읽고 레일에서 루비를 배우고 있습니다. (Agile Web Development with Rails 4th Edition).이 책에는 간단한 제품 목록을 작성하고 표시하는 방법이 나와 있습니다. 이 생각을 수정하여 사용자 로그인 시스템을 만듭니다. 지금보기에서만 작업하고 있습니다.아이디어가 있는지 확인하십시오. - Ruby on rails 로그인 시스템

그래서 저는 제 생각이 옳은지 확인해야합니다. 내 생각은 다음과 같습니다.

USER 모델의 show.html 파일은 한 사용자의 데이터를 보여줍니다. (당연히 주어진 ID) 예를 들면 : http://localhost:3000/users/980190974은 현재 사용자 권한을위한 html 페이지를 줄 것입니까? 이제 사용자가 <%= link_to 'Edit', edit_user_path(@user) %> 링크를 사용하여 정보를 편집하거나 데이터베이스에서 모든 사용자를 나열하는 <%= link_to 'Back', users_path %> < <을 제거하여 다른 사용자가 볼 수 없도록 제한 할 수 있습니다. 그러나 사용자가 자신의 세부 정보를보기 전에 이메일과 비밀번호를 사용하여 로그인해야합니다. 따라서 html 페이지를 작성하면 2 개의 문자열 (사용자 이름 및 암호)이 mySQL 데이터베이스를 검색하고 사용자 ID를 리턴하고 사용자의 HTML 페이지를 "렌더링"하는 데 사용합니다.

내 사고 방식이 맞습니까? 아니면 Ruby on Rails가 어떻게 작동하는지 완전히 관련이 없습니까? O_o

답변

0

당신은 올바른 방향으로 가고 있습니다. 한 가지 지적해야 할 점은 다른 사용자가 /users 경로에 액세스하지 못하게하려면 단순히 <%= link_to 'Back', users_path %> 링크를 제거하는 것만으로는 충분하지 않습니다. CURRENT_USER 당신이 따라야 할 가까운 예를 찾고 있다면 사용자 개체

+0

를 반환하는 방법이 될 수

class UserController < ApplicationController def index unless current_user.is_admin redirect_to user_path(current_user) return end ... rest of code here end end 

가, 라이언 베이츠가 큰 않았다 다음 (사용자) 컨트롤러에서 당신은 같은 것을 사용해야 screencast on * Scratch * 인증 : http://railscasts.com/episodes/250-authentication-from-scratch – slothbear