2

次のクラスがあるとします。

class Fruit { ... }
class Apple extends Fruit { ... }
class Orange extends Fruit { ... }

ユーザーが新しい を作成したいとしましょうApple。ドロップダウンから型を選択し、サービスを使用して型文字列を具体的な型に変換します。

def fruit = FruitService.createFruit(params.type)
fruit.properties = params
fruit.save()

Appleこれにより、新しいインスタンスが正常に保存されます。

ここで、ユーザーが間違いを犯したことに気づき、Orange代わりに を作成したいとしましょう。編集ビューでは、ユーザーがタイプを に変更できるようにしていますが、既存のインスタンスを に変更Orangeするにはどうすればよいですか? 他の関係があるため、単純に を削除して新しいインスタンスを作成することはできません。これは可能ですか?AppleOrangeOrangeApple

4

0 に答える 0