0

私は、それらが属する外部キーを持つ一連のstreamビデオを持っています。districtただし、editまたはdeleteボタンをクリックすると、次のようになります。

Error 2012-08-30 23:51:16,424 [http-bio-8080-exec-7] ERROR errors.GrailsExceptionResolver  - MissingMethodException occurred when processing request: [GET] /ctv/stream/list
No signature of method: ctv.Stream.findAllByDistrict() is applicable for argument types: () values: []
Possible solutions: findAllByDistrict([Ljava.lang.Object;). Stacktrace follows:
Message: No signature of method: ctv.Stream.findAllByDistrict() is applicable for argument types: () values: []
Possible solutions: findAllByDistrict([Ljava.lang.Object;)

問題は

<g:form>
  <g:hiddenField name="id" value="${streamInstance?.id}" />
  <span class="button"><g:actionSubmit class="edit" action="edit" id="${params['district']}" value="${message(code: 'default.button.edit.label', default: 'Edit')}" /></span>
  <span class="button"><g:actionSubmit class="delete" action="delete" id="${params['district']}" value="${message(code: 'default.button.delete.label', default: 'Delete')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');" /></span>
</g:form>

districtID をページに送信しようとしていますが、送信editできません。誰かがそれを手伝ってくれませんか?とすると、タグを介してdistrict=10値を渡す必要があります。どうすればそれができますか?10<g:actionSubmit>

4

2 に答える 2

0

actionSubmitタグは id パラメータをサポートしていないと思います。アクションと価値のみをサポートします。

地区IDを隠しフィールドに入れる必要があります

<g:hiddenField name="district" value="${params['district']}" />
于 2012-08-31T08:49:55.363 に答える
0

シンプルな g:link を使用してください<g:link action="edit" id="${streamInstance.id}" >。ここでは g:form は必要ありません。また、コントローラーの設定を確認してください。

class MakeAppController {
static allowedMethods = [ update: "POST", delete: "GET",save: "GET"]

Grails フレームワークでは、コントローラーでリクエストのチェックを行うことができるためです。

于 2012-08-31T12:08:48.713 に答える