2011-04-14 4 views

답변

3

홈 컨트롤러의 모든 작업에 대한 인증을 건너 뛰려면 홈 컨트롤러에 추가하십시오.

skip_before_filter authenticate_user! 
+0

브리 티 쉬 (brettish)도 같은 대답을 했으므로 나는 대답을했기 때문에 이것을 골랐다. 모두들 덕분에! – Spyros

2

before_filter를 application_controller에 넣습니다. 다른 모든 컨트롤러는이 것을 확장해야합니다 (정상적인 레일 셋업이라고 가정 함). 따라서 동작을 상속받습니다.

skip_before_filter :authenticate_user!, :only => [:new, :create] 

: 유일한 옵션은, 음, 옵션

그런 다음, 당신이 필터 전에 생략 할 모든 컨트롤러에 다음을 넣어. 필터를 사용하기 전에 어떤 메소드를 건너 뛸 지 지정하십시오. : 만 가지고 있지 않으면 전체 컨트롤러가 before_filter를 건너 뜁니다.

+0

나는 내 질문에 명시된 것처럼 모든 컨트롤러에 코드를 넣고 싶지는 않습니다. 또한 블랙리스트 접근 방식이 맘에 들지 않습니다. 그래서 화이트리스트에 대해 묻습니다. – Spyros

+0

모든 컨트롤러의 before_filter는 필요하지 않습니다. 다른 컨트롤러의 기본 컨트롤러 인 application_controller 만 필요합니다. 그러나 skip_before_filter는 건너 뛰기를 원하는 컨트롤러로 이동해야합니다. 또한 제안 된 접근 방식은 블랙리스트에 포함됩니까? – brettish

+0

나는 네가 합리적이라고 생각한다. – Spyros

관련 문제