1

我在视图中有一个按钮,我想要它在控制器中的 ID,我该怎么做?

请考虑下面的代码:查看:

      <%= 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 %>

控制器:

定义索引

@abc = 参数[:id]

结尾

我知道我做错了,对Rails一无所知。

还有一件事,指定的方法是“get”,但需要在路由中标识“post”,我怎样才能以最终访问 get“t_activities/index”的方式更改它?

4

2 回答 2

2

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

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

该值将显示params[:id]在控制器中。

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

于 2013-03-16T09:13:32.670 回答
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 %>

在控制器中以 params[:id_name] 的形式访问控制器中的该 ID。

于 2013-03-16T09:13:23.953 回答