我在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”的方式更改它?
答案 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]访问控制器。