0

私は、ローカルで正常に動作し、正しいルートを使用するかなり単純なアプリを持っています。つまり、アプリルートの大部分には/ conf / routers、そのモジュールに適切なルートには/ module / securesocial/confです。

しかし、herokuに投稿すると、securesocialルートのみが使用されるため、「アクションが見つかりませんリクエストGET/」<-または標準ルートファイルで定義されたルートのエラーメッセージが表示されます。

ルートを操作しようとすると(たとえば、1つの包括的なルートファイルを作成するために)、コンパイル時にさまざまなエラーが発生します...

これが私の標準ルートです:

# 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/routeファイルです。

# 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)

いくつかの重複があることに気づきましたが、これはセットアップをローカルで機能させるために使用した構成です(これは、securesocialディストリビューションで提供されているサンプルに似ています)...

私が間違ったことを見つけられれば、コース修正の恩恵を受けることは間違いありません。

ありがとう、チップ

4

2 に答える 2

0

非常に簡単な解決策があります: SecureSocial からのルートをアプリの にマージしますconf/routes

于 2012-09-16T07:11:46.117 に答える
0

サブモジュールのルートがメイン アプリのルートを上書きする Play 2 のバグを回避するために、SecureSocial の動作方法を変更しました。

この新しいバージョンでは、モジュール コードをアプリにコピーする必要はありませんが、ダウンロード可能な依存関係として取得します。

これを試して:

  1. ディレクトリ構造からモジュール コードを削除します。
  2. Build.scala ファイルを変更して、次の依存関係を含めます: "securesocial" % "securesocial_2.9.1" % "2.0.5"。
  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)
)

それが役に立てば幸い。

于 2012-10-02T18:59:12.087 に答える