これは簡単に答えることができればうれしいです。私はこの情報を持っているプレイヤーと呼ばれるのGrailsでクラスを作成しました:明確化のためGrailsコントローラクラスの静的な "hasOne"プロパティの使用
class Player {
String steamId
String name
String portrait
static hasMany = {playerStatistics:PlayerStatistics}
static hasOne = {playerForumProfile:PlayerForumProfile}
}
、プレーヤーオブジェクトは、1つのPlayerForumProfileオブジェクトを持つことができますが、プレイヤオブジェクトは、常に PlayerForumProfileのオブジェクトの前を作成されます。私の問題は、PlayerForumProfileクラスのコントローラ内の「hasOne」プロパティに関連付けられたplayerForumProfileオブジェクトにアクセスすることです。 playerForumProfileとしてそのようなプロパティが存在しない
def playerForumProfileInstance = new PlayerForumProfile()
def playerInstance = Player.get(params.id)
playerForumProfileInstance = playerInstance.playerForumProfile
私はこれをしようとするが、Grailsは私に言って、エラーをスローし、playerForumProfileInstance変数にplayerInstanceオブジェクトに関連付けられているPlayerForumProfileオブジェクトを引っ張っにつながる:私はこれを行うことは想定していました。このような方法でhasOneプロパティのオブジェクトにアクセスすることは可能ですか、それとも別のことをする必要がありますか?
編集:それはのbelongsTo宣言していたが、これは私のアプリを実行するときに、nullポインタ例外が生じ保たれて、それはplayerForumProfileという変数と編集PlayerForumProfileを含めて、私はまた、プレイヤーのクラスを変更してみました。
編集:もう少し詳しく、最初から新しいgrailsアプリケーションを作成し、Grailsのドキュメントに表示される方法と関係を作成しました。問題なく実行されました。新しいアプリを作成し、ファイルをコピーします。
は、私はそれを再構築するつもりです見て。うまくいけば、これはエラーを解決します。 – Neitherman
実際、プログラムを最初から再構築することで問題は解決しました。 – Neitherman