2012-09-15 4 views
0

로컬로 잘 작동하는 간단한 응용 프로그램을 사용하고 있습니다. 올바른 경로는 다음과 같습니다./conf/routes 대다수의 응용 프로그램 경로 및 해당 모듈에 적합한 경로에 대한/module/securesocial/conf.Playv2.0.3 : heroku로 푸시 한 후 SecureSocial 모듈 경로가 사용됩니다.

하지만 일단 heroku에 게시하면 보안 사회 경로 만 사용되므로 "요청을 찾을 수 없습니다."/ < - 또는 표준 경로 파일에 정의 된 모든 경로의 오류 메시지가 표시됩니다.

내가 컴파일에 다른 많은 오류를 얻을 수 (하나 개의 포괄적 인 경로 파일을 만들려면 예를 들어) 경로를 조작하려고

...

여기 내 표준 경로입니다

:

# Routes 
# This file defines all application routes (Higher priority routes first) 
# ~~~~ 

# Home page 
GET /       controllers.Application.index() 
GET  /foo      controllers.Application.index() 

GET  /admin      controllers.Application.admin() 

POST /quote      controllers.Application.addQuote() 

GET  /quotes      controllers.Application.getQuotes() 

# Login page 
GET  /login      securesocial.controllers.LoginPage.login 
GET  /logout      securesocial.controllers.LoginPage.logout 

# User Registration 
GET  /signup      securesocial.controllers.Registration.signUp 
POST /signup      securesocial.controllers.Registration.handleSignUp 

# Providers entry points 
GET  /authenticate/:provider  securesocial.controllers.LoginPage.authenticate(provider) 
POST /authenticate/:provider  securesocial.controllers.LoginPage.authenticateByPost(provider) 


# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 

가 그리고 여기 내/securesocial/conf의/경로 파일입니다

# Routes 
# This file defines all application routes (Higher priority routes first) 
# ~~~~ 

# Home page 
# GET /       controllers.Application.index 

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 

# Login page 
GET  /login      securesocial.controllers.LoginPage.login 
GET  /logout      securesocial.controllers.LoginPage.logout 

# User Registration 
GET  /signup      securesocial.controllers.Registration.signUp 
POST /signup      securesocial.controllers.Registration.handleSignUp 

GET  /authenticate/:provider  securesocial.controllers.LoginPage.authenticate(provider) 
POST /authenticate/:provider  securesocial.controllers.LoginPage.authenticateByPost(provider) 

나는 약간의 중복이 실현,하지만 난 이것이 내가 로컬 작업 설정을 얻기 위해 사용되는 구성입니다 (그리고 ..........

내가 잘못한 것을 발견 할 수 있다면 분명히 코스 교정의 혜택을 누릴 수 있습니다.

덕분에, 아주 간단한 해결책이있다 칩

+0

2.1 릴리스를 목표로 한이 버그를 들었습니다. https://groups.google.com/forum/?fromgroups=#!searchin/play-framework/jorge/play-framework/OVjVmUFj9Mg/TwV8Sz5o4J4J – castlechip

답변

0

는 : 앱의 conf/routes에 SecureSocial에서 경로를 병합합니다.

+0

하지만 병합되었습니다. SS conf의 각 경로는 주 conf에서 찾을 수 있습니다. 이것은 로컬에서 잘 작동합니다. 하지만 일단 heroku에 푸시되면 경로는 주 conf의 경로를 볼 수있는 범위가없는 SS 경로에 의해 덮어 쓰여 "/"와 같은 간단한 경로가로드되지 않습니다 (반환되는 작업을 찾을 수 없음)./또는/foo 같은 페이지를 넣으면 컴파일 또는 푸시 오류가 표시되므로 ss conf 파일을 속일려고해도 둘 중 하나가 작동하지 않습니다. – castlechip

+0

SS 경로 파일은 중요한 구성입니다. 첫 번째 GET /이 주석 처리됩니다.이 주석을 제거하거나 예를 들어/login으로 주석 처리하면 시스템이 컴파일되지 않습니다. – castlechip

+0

마찬가지로, 주 conf에서 로그인 또는 로그 아웃을 주석 처리하면 컴파일러가 종료하도록 프롬프트됩니다. 이 이상한 구성이 로컬에서 작동하고 밀어 넣기 작업을 덮어 쓰는 것을 당황하게 만듭니다. – castlechip

0

PlaySocial이 Play 2의 버그를 해결하는 방법을 수정하여 하위 모듈의 경로를 기본 앱의 경로보다 우선합니다.

이 새 버전에서는 모듈 코드를 앱에 복사 할 필요가 없지만 대신 다운로드 할 수있는 종속성을 갖습니다.

이 시도 :

  1. 은 디렉토리 구조에서 모듈의 코드를 제거합니다.
  2. "securesocial"% "securesocial_2.9.1"% "2.0.5"등의 종속성을 포함하도록 Build.scala 파일을 변경하십시오.
  3. resolvers + = Resolver.url ("SecureSocial Repository", url ("http://securesocial.ws/repository/releases/")) (Resolver.ivyStylePatterns) 설정의 일부로 새 해결 프로그램을 추가하십시오.
    val appDependencies = Seq(
        // 
        // your other dependencies 
        // 
        "securesocial" % "securesocial_2.9.1" % "2.0.5" 
    ) 
    val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
        resolvers += Resolver.url("SecureSocial Repository", url("http://securesocial.ws/repository/releases/"))(Resolver.ivyStylePatterns) 
    ) 
    

    는 희망이 도움이 :

이은 같이하는 방법의 예입니다.

관련 문제