적절한 권한을 설정하려고하는 그룹 리소스가 있습니다.correct_user 및 admin에 대한 여러 before_filter 문
내가 구현하기 위해 노력하고있어 인증 논리는 이것이다 :
- 만 그룹 회원들은 그룹을 볼 수 있어야합니다.
- 관리자는 그룹을보고 그룹을 볼 수 있으며 다른 조치를 취할 수 있습니다.
I 그룹 컨트롤러에서 다음 before_filter 문이 작업을 수행하려고 해요 : 난 단지 그룹 멤버들이 그룹을 볼 수 있다는 것을 확인하는대로
before_filter :signed_in_user
before_filter :correct_user, only: :show
before_filter :admin_user, only: [:show, :index, :edit, :update, :destroy]
Correct_user 작동합니다. 그러나 내가 원하는 것은 admin : show 절을 사용하여 관리자가 모든 그룹을 볼 수 있도록이를 대체하는 것입니다. 현재 작동하지 않습니다. 나는 나의 필터 주문과 옵션에 뭔가 잘못되었다고 생각한다.
누군가 내가 잘못 갔다 고 말할 수 있습니까? 아마르의 요청에 따라 내 방법 코드를 추가
편집
:
private
def correct_user
# User has to be a member to view
@group = Group.find(params[:id])
redirect_to(root_path) if @group.members.find_by_member_id(current_user).nil?
end
def admin_user
redirect_to(root_path) unless current_user.admin?
end
해보십시오이를 admin_user는 관리 사용자 및 기타 – Amar
감사 아마르 조건부합니다. 나는 correct_user 위에 admin_user 필터를 넣으려고했으나 그것을 고치지 않았다. 액션에 조건을 넣을 수 있지만 before_filter를 사용하여 작업을 수행 할 수있는 방법이 있는지 알고 싶습니다. – pejmanjohn
필터를 작성한 방법으로 추가 검사를 할 때 그룹을보기 위해서는 사용자가 둘 다, admin과 correct_user가 필요합니다. 나는 OR이 되길 원합니다. – pejmanjohn