解決しました。何をしたかは本当にわかりませんが、うまくいきました。その瞬間の1つ...
私のドメイン オブジェクトは「Actiune」です。「createNewEtapa」メソッドに指定された ID を持つ別のエントリから、4 つのプリセット フィールドを持つ新しいエントリを追加したいと考えています。そのため、そのエントリを(IDで)クエリして値を取得し、フォームにプリセットして保存しますが、機能しません。保存は機能しません。
私は何を間違っていますか?私は何時間もこれを回ってきました。もう一度スタックオーバーフローを助けてください:)
すべてのコードをチェックしたくない場合は、これがどのように行われたかをお知らせいただくか、例をリンクしてください:)
どうも!
これらは私のコードの関連部分です
これは私の GSP フォームです。
<g:form action="save" enctype="multipart/form-data">
<fieldset class="form">
<g:applyLayout name="form">
<tmpl:/templates/form />
</g:applyLayout>
</fieldset>
<fieldset class="buttons">
<g:submitButton name="create" class="save"
value="${message(code: 'default.button.adauga.label', default: 'Adauga')}" />
<g:actionSubmit name="create" class="save" action="savenew" value="Adauga2" />
</fieldset>
</g:form>
これは私のコントローラーです:
def create(Long id){
def actiuneInstance = Actiune.findById(id)
def c = Actiune.createCriteria()
def instanceList = c {
eq("idActiune", actiuneInstance.idActiune)
order("termenPornire", "asc")
}
params.idActiune = actiuneInstance.idActiune
params.tema = actiuneInstance.tema
params.firma = actiuneInstance.firma
params.user = User.findById(springSecurityService.currentUser.id)
[instance: new Actiune(params)]
}
def save() {
def actiuneInstance = new Actiune(params)
actiuneInstance.user = User.findById(springSecurityService.currentUser.id)
actiuneInstance.termenPornire = new Date()
def actiuneBD = Actiune.findByIdActiune(params.idActiune)
actiuneInstance.idActiune = actiuneBD.idActiune
actiuneInstance.tema = actiuneBD.tema
actiuneInstance.firma = actiuneBD.firma
print "in params " + params
print "\\"
print "in save... " + actiuneInstance.properties
if (!actiuneInstance.save(flush: true)) {
render(view: "create", model: [firInstance: actiuneInstance])
return
}
flash.message = message(code: 'default.created.message', args: [message(code: 'actiune.label', default: 'Actiune'), actiuneInstance.idActiune])
redirect(action: "completeShow", id: actiuneInstance.id)
}
これは、save() メソッドの print ステートメントからの出力です * ... * params [termenLimita_month:11, termenPornire_month:11, termenPornire_day:1, documentPath:, tema:Promotie A, termenLimita_day:1, _action_savenew:Adauga2, id:, observatii:uuu, termenLimita:date.struct, termenPornire_year:2012, etapa.id:1, etapa:[id:1], contact.id:1, contact:[id:1], termenPornire:date.struct 、会社:Google、idActiune:zt8h、termenLimita_year:2012、アクション:保存、コントローラー:actiune] \ ....
保存中... [user:Flavian、termenPornire:Thu Nov 01 22:57:45 EET 2012、contact:null、documentPath:null、temaId:1、etapaId:null、firmaId:3、firma:Google、contactId:null 、termenLimita:null、idActiune:zt8h、observatii:null、userId:null、etapa:null、tema:Promotie A]