나는 rails_admin을 사용하고 인증을 위해 작성합니다. 어떻게 모든 사용자가 자신이 만든 포스트 모델의 레코드 만 관리 할 수 있습니까? 나는 cancan을 사용할 필요가 있다고 생각하지만 kwoh는 방법을 모르겠습니다.각 사용자는 자신이 만든 레코드 만 볼 수 있습니다.
0
A
답변
1
두 단계 : 관리, 포스트 :
저장 ability.rb
수에 넣어 생성 캉캉를 사용
에서 'USER_ID'로 포스트 모델에서 현재 사용자, , : user_id => user.id
이렇게하면 각 사용자가 whi의 게시물 만 관리 할 수 있습니다. 그는 창작자로 저장되었습니다.
0
CanCan
을 사용해야한다고 가정 할 때 귀하의 권리입니다. 이유 당신 인은 authorization
보고있는 인증 & 권한 부여의 차이는 이전 누군가가 시스템 여부에 액세스 할 수 있는지 여부를 정의합니다; 후자는 인증 된 사용자가 특정 리소스에 액세스/변경할 수 있는지 여부를 정의합니다.
CanCan
gem은 사용자에게 특정 레코드에 대한 액세스 권한을 부여하기 위해 Ryan Bates가 만들었습니다. 지적 Danny
, 당신은 이런 식으로 뭔가를해야합니다 :
연관 시키 user
와 post
을 - 같은 것을 사용
#app/models/post.rb
Class Post < ActiveRecord::Base
belongs_to :user #-> means you need user_id column in posts table
end
#app/models/user.rb
Class User < ActiveRecord::Base
has_many :posts
end
을 그리고 당신이 사용할 수 있습니다
#app/models/ability.rb
class Ability
include CanCan::Ability
def initialize(user)
can :edit, Post, user_id: user.id
end
end
#app/views/posts/index.html.erb
<% for post in @posts do %>
<% if can? :edit, post %>
<%= post.title %>
<% end %>
<% end %>
: 캉캉 같은 보석
권한 부여를 제공하는
관련 문제
- 1. Sharepoint 2013 목록 - 사용자는 자신의 항목 만 볼 수 있습니다.
- 2. 레일 : Current_user는 자신의 그룹의 레코드 만 볼 수 있습니다. 어떻게해야합니까?
- 3. 로그인 사용자는 구입 한 비디오 만 볼 수 있습니다.
- 4. Sharepoint List 사용자는 자신의 항목 만 볼 수 있습니다.
- 5. 각 사용자는 하나의 page-wordpress 만 편집 할 수 있습니다.
- 6. "활동은 자신이 소유 한 인수 위치 만 가져올 수 있습니다."
- 7. 사용자는 동일한 세션에서 커밋 된 데이터 만 볼 수 있습니까?
- 8. 집행자는 자신이 만든 스레드를 사용합니까?
- 9. OnTouchListener를 자신이 만든 뷰로 설정하십시오.
- 10. 사용자는 Wordpress에서 자신의 카테고리 만 사용할 수 있습니다.
- 11. bugzilla의 모든 사용자는 기본으로 모든 제품을 볼 수 있습니다.
- 12. Magento - 사용자는 다른 사람의 데이터를 볼 수 있습니다.
- 13. 특정 계급의 회원 만 볼 수 있습니다
- 14. 관리자 만 Laravel의 페이지를 볼 수 있습니다.
- 15. Devise의 현재 사용자는 관리자 만 사용할 수 있습니다.
- 16. TFS 사용자는 히스토리를 볼 수 없습니다.
- 17. FreeBsd : 동일한 그룹의 사용자는 자신이 만든 파일과 디렉토리에 대한 자동 읽기/쓰기 권한을 갖습니다.
- 18. 사용자는 tastypie
- 19. 사용자가 레일에 연결된 레코드 만 볼 수 있도록 제한
- 20. SqlDbType 및 자신이 만든 SQL Server 유형
- 21. Weka 분류기는 각 줄에 대한 결과를 볼 수 있습니다.
- 22. 각 사용자는 하나 개의 테이블
- 23. zend acl을 볼 레코드 목록
- 24. 각 사용자는 Liferay에서 다른 레이아웃을 사용할 수 있습니까?
- 25. setImageBitmap()의 비트 맵 설정은보기에서 gif 만 볼 수 있습니다.
- 26. 범주 탐색 포틀릿 - 로그인하지 않은 사용자는 범주를 볼 수 없음
- 27. readAnyDatabase 사용자는 mongodb에 데이터베이스를 만들 수 있습니다
- 28. 사용자는 JavaFx 응용 프로그램을 두 번 이상 열 수 있습니다.
- 29. Untracking 브랜치가 -f로 끝났지 만 여전히 커밋을 볼 수 있습니다.
- 30. 내장 된 MATLAB 파일에 대한 주석 만 볼 수 있습니다.