0

いくつかのプロパティを持つ Modulo というドメインと、モデルからオブジェクトを作成して保存するメソッドを持つコントローラーがあります。シェルを実行すると、次のエラーが表示されます。

  • La propiedad [{0}] de la clase [{1}] no puede ser nulo

しかし、nullable 制約を true に設定すると、エラーが再び表示されます。私はこのcosntraintを設定すべきではないと思います。

モデルは、id allow null を除くすべてのプロパティを持つ mysql テーブルにリンクされています。

私はここで何か間違ったことをしていないと思います。何かアドバイス??

ドメイン: モジュロ

class Modulo {
    String nombre
    String icon
    String url




//static constraint = {
  //    url(nullable:true)
  //}

  }

コントローラ: 例

class ExampleController {
    def index = { 
       def modulo = new Modulo(
         nombre:'xxx',
         icon:'xxx'
        )

        if (modulo.save()){
          println 'ok'
        }else{
          modulo.errors.allErrors.each { println it.defaultMessage}
        }
    }
}

ありがとう。ホセ

4

2 に答える 2

3

最後に、エラーを解決しました。制約が間違って書き込まれたため、保存されません。

エラーコード

 static constraint = {
     url(nullable:true)
 }

良いコード

static constraints = {
     url(nullable:true)
 }

あなたの答えをありがとう。:P

于 2011-03-19T00:08:55.723 に答える
0
But if i set the constraint nullable to true, the error show

また。私はこのcosntraintを設定すべきではないと思います。

nullable 制約は私にとってはうまく機能します。指定しないと、デフォルトで nullable=false であるため、必ずエラーが発生します。

nullabe:trueの電源を入れて、 Grails を再起動してみてください。

モデルは、id allow null を除くすべてのプロパティを持つ mysql テーブルにリンクされています。

実際には、事前定義されたテーブルは必要ありませんが、必要な場合は、id フィールドで null を許可しないのが最善だと思います。

于 2011-03-18T03:18:04.073 に答える