次のコードを使用しています。
${childInstance.firstname}
<br/>
<g:uploadForm url="[action: 'upload', params:[id:childInstance.id]]">
<input type="file" name="myFile" />
<input type="submit" value="submit"/>
</g:uploadForm>
childInstance.firstname は機能しており、子の名前を返していますが、childInstance.id はアップロード コントローラーに "index" の文字列を渡しています。
なぜアイデアはありますか?
別のメソッドを指すように変更すると機能しますが、これはどうですか?
def upload() {
def childInstance2 = Child.get(params.id)
def f = request.getFile('myFile')
if (f == null | f.empty) {
flash.default = "file cannot be empty"
errors.getFieldError("cannot be empty")
return
}
def fName = f.getOriginalFilename()
def picture = new Picture(orgName: fName, urlOrg: "http://localhost/"+fName, user:lookupPerson(), child:childInstance2 )
f.transferTo(new File('/Users/sagarmichael/Desktop/photoUpload/'+fName))
picture.save(flush: true, failOnError: true)
response.sendRedirect("index")
}