2017-09-29 17 views
0

GrailsでRestfulControllerを使用してオブジェクトのデータを保存すると、クライアントが関連する子オブジェクトに変更を適用しないようにするにはどうすればよいですか?子プロパティが更新されないようにするにはどうすればよいですか?

class Language { 
    String name 
} 

class TranslationText { 
    Language language 
    String text 
} 

そしてTranslationTextに対して次のPOSTデータ:次のドメインクラスを考える

ここ
{ 
    "language": { "id": 1, "name": "InvalidName" }, 
    "text": "Some Text" 
} 

は、私は、(ID = 1)既存の言語リソースを参照したいです私はその名前がクライアントによって変更されることを望んでいません。

このリソースを(IDに基づいて)テキストと言語で保存することはできますが、無効な言語名のプロパティは破棄できますか?

可能な限り最小限の方法でRestfulControllerを変更して、できるだけデフォルトの動作を維持したいと思います。

+0

あなたが使用することができます 'バインド可能これはリンクのインスタンスを立ち退かせるためにGORMを教えてくれますので、それはHibernateのセッションではありません、DBへの新しい名前とフラッシュに変更'' name'プロパティを割り当てたくない場合は ''制約です。 http://docs.grails.org/latest/ref/Constraints/bindable.html –

+0

これを言語クラスにマップすると、LanguageControllerに投稿するときにバインドされないのですか? – RMorrisey

答えて

関連する問題