2016-06-12 15 views
0

messages.propertiesからのメッセージとi18nのドキュメントに従ってメッセージを使用しようとしています。 message(code: "some.properties.label", args: ['var1', 'vars2'])が必要ですが動作しません。常に取得:一方grailsでi18nメッセージを使用する方法3.1.7

Caused by: groovy.lang.MissingMethodException: No signature of method: com.project.MainService.message() is applicable for argument types: (java.util.LinkedHashMap)

を、私はそれが動作messageSource.getMessage("code",null,null)を使用する場合。

明らかに私はドキュメントのメソッドが好きです。なぜなら、それはまっすぐだからですが、なんらかの理由で私にとってはうまくいきません。だからgrails gurus、どこにキャッチですか?

おかげ

+0

どこで使用していますか?サービスで? – injecteer

+0

はいそれをservice.thanksで使用しています –

答えて

1

は、スタックトレースによると、あなたがサービス内message(code:'whatever' ....)メソッドを呼び出そうとしているようです。これはコントローラとTagLibsでしか動作しないので、動作しない理由です(grails 'magic)

詳細はthisの回答をご覧ください。

実際にコントローラの構文を使用する場合は、同じパラメータを使用してメソッドを作成し、messageSourceサービスを呼び出すだけで済みます。

+0

ありがとう@Joch、私はちょうど働いたmessageSourceのautowiringに固執しなければならないように見えます。 –

関連する問題