2014-03-19 3 views
-3

레일에 새로운 기능이 있습니다. 방금 this 튜토리얼을 마쳤습니다. 메모를 작성할 수있는 사용자가있는 애플리케이션을 작성하는 방법을 보여 주지만 문제는 모든 사용자가 작성한 메모를 모든 사람이 볼 수 있다는 것입니다. 각 사용자가 볼 수있는 고유 한 메모를 갖기를 바랍니다.레일에있는 각 사용자마다 다른 정보를 표시하는 방법

+1

당신은 더 많은 정보를 제공해야합니다 네가 도움이 필요하면. 보기와 컨트롤러는 어떻게 생겼습니까? – crispychicken

+0

링크는 보충 정보로 유용 할 수 있지만 튜토리얼을 통해 읽은 내용을 읽는 사람은 아무도 없습니다. [관련 코드] (http://stackoverflow.com/help/mcve)를 제공하고 구체적인 설명을 제공해야합니다. [좋은 질문을하는 방법에 대한 조언] (http://stackoverflow.com/help/how-to-ask)을 읽어보십시오. [완벽한 질문 작성하기] 링크 된 블로그 게시물 (http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx)을 꼭 읽어보십시오. "황금률"에 특별한주의를 기울이십시오, 그러나 나는 전체 기사를 읽는 것이 좋습니다. –

답변

1

각 사용자가 자신의 소식 만 볼 수있게하려면 기본 인증이 필요합니다. 그것은 당신이 자신이 로그인 할 때 사용자가 볼 수있는 게시물 확인할 수 있습니다.

  1. 이 기능을 구현할 수 있도록 몇 가지 보석이 그들에이 Devise 이다,있다 당신이를 얻을 수있을 것입니다 고안 설치할 때 메서드 : 컨트롤러의 current_user. 그런 방법으로 사용자 메모를 쉽게 참조 할 수 있습니다. 물론 사용자와 메모 모델 간의 연결을 먼저 만들어야합니다.

  2. 또는 각 사용자에 대해 고유 한 ID를 생성하고 쿠키에 저장할 수 있습니다. 요청할 때마다 쿠키에 고유 한 ID가 있는지 확인하십시오. 사용자가 메모를 작성할 때마다이 user_id를 notes 테이블에 저장합니다. 그 후 특정 사용자의 모든 노트를 검색 할 수 있습니다

    @notes = Note.where (USER_ID : USER_ID)이 도움이

희망, 행운

1

컨트롤러에서 Note 모델에 대한 직접 호출을 바꾸고 대신 관계를 사용해야합니다. 예 :

def index 
    # retrieve all users Note ordered by descending creation timestamp 
    @notes = current_user.notes.order('created_at desc') 
end 
관련 문제