获取HTML元素的ID到Controller

时间:2013-03-16 08:43:27

标签: html ruby-on-rails

我在View中有一个按钮,我想在Controller中使用它的ID,我该怎么做?

请考虑以下代码: VIEW:

      <%= form_tag :controller => :t_activities, :action => :index , :method => "get" do %>
      <input name="activitybtn" type="submit" class="btn btn-primary" id="m<% scenario.id %>" value="Take Activity"/>
      <% end %>

控制器:

  

def index

     

@abc = params [:id]

     

我知道我做错了,不知道Rails。

还有一件事,指定的方法是“get”,但是“post”需要在路由中识别,我如何以最终访问获取“t_activities / index”的方式更改它?

2 个答案:

答案 0 :(得分:2)

您的表单中需要另一个字段,其name属性为“id”。这样的事情,假设我的值是正确的:

<input type="hidden" name="id" value="m<%= scenario.id %>" />

此值将在控制器中显示为params[:id]

关于您的第二个问题,如果您只想更改表单方法以匹配路线,只需在上面的示例中将method => "get"更改为method => "post"即可。如果您希望更改路径以匹配表单,则取决于您已设置的内容。如果是这种情况,请将路线文件的相关部分粘贴到您的问题中。

答案 1 :(得分:0)

  

在表单隐藏字段标记中传递id。


  <%= form_tag {:controller => :t_activities, :action => :index }, :method => "get" do %>

    <%= hidden_field_tag "id_name", @scenario.id %>


          <input name="activitybtn" type="submit" class="btn btn-primary"  value="Take Activity"/>
          <% end %>

  

在控制器中将该ID作为params [:id_name]访问控制器。