문제

기사를 읽었습니다 여기 그리고 컨트롤러에 대한 관리 점검을 작성하기 위해 발견 된 원칙을 사용했습니다. 기본적으로 어떤 컨트롤러가 있는지 확인한 다음이 사람을 찾는 것보다 해당 컨트롤러를 볼 수있는 권한으로 배열을 만듭니다.

이 기사의 저자는 독자가 예제 코드를 결함이었던대로 사용해서는 안되며 플러그인을 사용해야한다고 말했다 (물론 현재 구식). 그리고 그는 말했다

"클래스 변수 및 클래스 캐싱으로 인해 생산 모드에서 실행할 때 위 코드에는 몇 가지 문제가 있습니다."

나는 테스트가 실패했고 그것이 이것으로 인한 것일 수 있다고 생각하지만 사용하지 않아야 할 코드의 어떤 부분이 있는지 잘 모르겠습니다. 다음 (응용 프로그램에서)가있었습니다.

 controller = params[:controller]
 action = params[:action]

그러나 나는 그것을 다음으로 변경했습니다.

controller = self.class.name
action = params[:action]

작업 이름에 올바르게 액세스하려면 어떻게해야합니까? 그리고 일반적으로 생산에서 할 수없는 개발 모드에서 어떤 종류의 일을 할 수 있습니까?

도움이 되었습니까?

해결책

대신 역할 기반 권한 플러그인을 고려 했습니까? 다음 stackoverflow 질문을 참조하십시오.

역할 기반 권한에 가장 적합한 레일 플러그인은 무엇입니까? (답변 당 하나의 지명을 제공하십시오)

나는 당신이 붙여 넣은 코드의 생산 사용과 관련된 문제를 알지 못합니다. 문제의 플러그인은 @@의 오용으로 인해 몇 가지 문제가있을 수 있지만 철저히 검사하지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top