Grails 2.0.4で開発されたアプリケーションがあり、ドメインクラスの値の一部をハードコーディングしています。例は次のとおりです。
class Training{
String startTime ="09:00"
String endTime ="17:00"
}
しかし、それは良いアプローチではありません。変更を加えることはオーバーヘッドです。このように、値がハードコーディングされている10を超えるドメインクラスがあります。
そのため、別の構成ドメインクラスを作成することを計画しています。これにより、UI(ビュー)から値を入力して永続化できます。
これは私の計画です、それに対処するための解決策はありますか?
更新しました:
import org.grails.plugins.settings.*
class PublicTraining extends Training{
Date startDate = Setting.valueFor("startDate")
}
設定「startDate」を作成しました。コントローラではSetting.valueFor( "startDate")メソッドを使用して設定にアクセスできますが、ドメインクラスではアクセスできません
私が得ているエラーは以下のとおりです
*Caused by: org.hibernate.InstantiationException: could not instantiate test objectcom.springpeople.tms.PublicTraining
... 5 more
*Caused by: java.lang.reflect.InvocationTargetException
... 5 more
Caused by: groovy.lang.MissingMethodException: No signature of method: org.grails.plugins.settings.Setting.methodMissing() is applicable for argument types: () values: []
at org.grails.plugins.settings.Setting.valueFor(Setting.groovy:53)**