2010-06-18 4 views
0

내가 뭘 하려는지는 매우 간단합니다. 컨트롤러 작업 정의 역할을 기반으로 사용 권한 목록을 생성합니다. Rails의 possible_controllers 문제

ActionController::Routing.possible_controllers 

내가 배열을 얻을

: 사용 : (처음으로 완벽하게 작동 참고)

이, 유일한 문제, 꽤 잘 작동

내가 두 번째 레일 컨트롤러의 목록을 생성 할 때이다 말할 필요도없이, 예외를 생성하여 내 코드를 깨뜨린 것처럼, 문자열 대신 현재 컨트롤러 클래스를 사용합니다.

왜이 방법이 여러 통화에서 다르게 작동합니까? 내가 누락 된 것이거나 루비/레일 버그입니까? (윈도우에서 실행 중입니다.)

임시 수정 : 나는 결과 문자열 배열을 세션에 저장하므로 다음 번에 possible_controllers 메서드를 다시 호출하지 않고 목록을 검색 할 때 저장합니다.

그러나 사용자가 로그 오프하고 새 로그가 기록되면 문제가 다시 나타납니다. 이는 프로덕션에서는 작동하지 않으므로 제거해야합니다.

+0

더미 레일 프로젝트를 생성하고 콘솔에서 언급 한 호출을 발행했습니다. 일관되게 문자열 배열을 가져옵니다. 저는 리눅스에서 Ruby 1.8.7과 Rails 2.3.5를 사용하고 있습니다. 그것은 해결책이 아니지만 올바른 방향을 제시하는 데 도움이 될 수 있습니다. – Roadmaster

+0

나는 콘솔에서 같은 것을 얻는다. 리눅스 호스트에 배포하려고 할 것입니다. 아마 플랫폼에 종속적 일 것입니다. – dakull

답변

0

문서는 배열을 반환해야한다고 말합니다. 그래서 배열 버전으로 작업하기 위해 코드를 작성한 다음 문자열 버전을 없애기 위해 더미 호출을 삽입하는 것이 좋습니다. 버그를 발견했을 수도 있습니다.