2014-02-14 4 views
4
내가 Grails의 네임 스페이스로 리디렉션에 문제가 있어요

:Grails의 네임 스페이스 문제

을 나는 이것이 인 LoginController에 리디렉션 있습니다

redirect(namespace:'auth',controller:'login',action: "login") 

이 내 URL 매핑에 정의 :

"/auth/$action?/$id?" { 
controller = 'login' 
namespace = 'auth' 
} 

그러나 리디렉션이 작동하지 않으면 리디렉션됩니다 : auth/login보다는 login/login.

또한 로그인 양식은 auth/authenticate 대신 login/authenticate 작업으로 생성됩니다.

아이디어가 있으십니까?

이것은 Grails 2.3.4 btw입니다.

감사합니다.

답변

0

나를 위해 일했습니다 솔루션을 사용하는 것이 었습니다 named URL Mapping A :

1) 당신의 UrlMappings.groovy에 매핑 이름을 제공 :

name specialLoginMapping: "/auth/$action?/$id?" { 
controller = 'login' 
namespace = 'auth' 
} 

2) 참조이 매핑을 사용자 리디렉션 전화

redirect(mapping: 'specialLoginMapping', action: 'login') 

Grails는 위의 UrlMappings 항목에서 컨트롤러/네임 스페이스를해야

0

은 UrlMappings.groovy에서 이러한 코드와 그것을 시도 :

"/auth/$controller/$action?/$id?" { 
    namespace = 'auth' 
} 

이 URL의 양식 액션 컨트롤러를 사용 공간의 적절한 경로를 얻으려면 :

<g:form url="[action:'save', namespace:'auth']"> 
....... 
</g:form>