0

Web 開発の初心者はこちら。私はこのようなフォームを持っています:

<form name="myForm" id="myForm"  method="post" >

      <select id="id" name="foo">
        ...some stuff
      </select>

      <input type="submit"/>
</form>

送信ボタンは、予想どおり、コントローラーの「index」メソッドを呼び出します。「更新」などの他の関数を呼び出すようにしたいのですが、どうすればよいですか? @_params ハッシュで何かをする必要がありますが、それを行うためにインデックス関数を呼び出したくありません。ありがとう。

4

1 に答える 1

0

ビューロジックが含まれていなかったので、暗闇の中で突き刺して、RoRヘルパーを使用するのではなく、フォームのHTMLを記述していると推測します。

Railsには、フォームとフォームアイテムの生成を支援する一連のヘルパーがあります。

form_forのドキュメントを確認してください

form_forを使用すると、urlパラメーターを変更しない限り、基本的なRESTfulルーティングに従います。したがって、/ newを使用している場合は、/ createにルーティングされ、/ editを使用している場合は、/updateにルーティングされます。より正確には、オブジェクトが新しい場合は作成するために送信し、モデルが存在する場合は更新するために送信します。

フォームでモデルを使用しない場合は、urlパラメーターを受け取るform_tagヘルパーを使用して、送信するパスを指定する文字列を渡すことができます。

プレーンHTMLでこれを行う方法を知る必要がある場合は、これを読んでください。基本的に、投稿先のアクションへのパスを指定するアクション属性をフォームに含める必要があります。

于 2012-05-31T00:15:49.350 に答える