0

HTML.erb に次のコードがあります

<form>
   <input id="do" type="hidden" value="0" />
   <button type="submit" value="Next">SUBTRACT</button>
</form>
<form>
  <input id="do" type="hidden" value="1" />
  <button type="submit" value="Next" >ADD</button>
</form>

ここで、2 つのボタンのいずれかをクリックすると、Ruby コントローラー内の入力 id="do" の値を確認したいと考えています。構文はどのようになりますか?

4

2 に答える 2

1

actionこれは、各フォームが (属性を使用して) 送信されるコントローラーで 2 つのアクションに最適に分離する必要があります。

<form action='add'>
   <input id="do" type="hidden" value="0" />
   <button type="submit" value="Next">SUBTRACT</button>
</form>
<form action='subtract'>
  <input id="do" type="hidden" value="1" />
  <button type="submit" value="Next" >ADD</button>
</form>

#in your controller
def add
  # do the addition processing
end

def subtract
  # do the subtraction processing
end

本当に 1 つのアクションで実装する必要がある場合は、Railsparamsオブジェクトを使用できます。

于 2012-10-30T20:57:13.810 に答える
0

name 属性を設定する必要があります。name 属性は、params ハッシュでコントローラーに送信されます。

<form>
   <input id="do" name="subtract" type="hidden" value="0" />
   <button type="submit" value="Next">SUBTRACT</button>
</form>
<form>
  <input id="do" name="add" type="hidden" value="1" />
  <button type="submit" value="Next" >ADD</button>
</form>

コントローラーでは、

params[:subtract]またはは、params[:add]クリックされた減算またはクリックされた加算に応じて値を持ちます。

于 2012-10-30T20:56:44.470 に答える