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属性)。

<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

您需要设置名称属性,名称属性在参数哈希中发送到控制器

<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]or的params[:add]值取决于减去 clicked 或 add clicked 。

于 2012-10-30T20:56:44.470 回答