2013-03-16 30 views
1

我在View中有一個按鈕,我想要它在Controller中的ID,我該怎麼做?獲取HTML元素的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 %> 

CONTROLLER:

DEF索引

@abc =參數[:ID]

我知道我做錯了,沒有線索的Rails。

還有一件事,指定的方法是「get」,但是「後」需要在路由中標識,我如何改變它以最終訪問得到「t_activities/index」的方式?

+0

在表單中使用'hidden_​​field_tag'。 – shweta 2013-03-16 10:16:49

回答

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]在控制器中。

2

您需要表單中的另一個字段,其中name屬性爲「id」。事情是這樣的,假設我有正確的價值:

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

該值將顯示在控制器params[:id]

至於你的第二個問題,如果你只是想改變表單方法來匹配路線,只需在上面的例子中將method => "get"更改爲method => "post"即可。如果您寧願改變路線以匹配表單,這取決於您已經設置的內容。如果是這種情況,請將您的路線文件的相關部分粘貼到您的問題中。