2013-02-11 50 views
1

我正在使用搜索表單並希望在rails的窗體上使用GET請求。我考慮以rails的形式獲取方法

form_tag(:action => "actionxyz", :method => "get") 

2)在路由

get 'actionxyz', :controller => :controllerabc 

使用類似這樣

1)當該請求被檢查,下面看出

<form accept-charset="UTF-8" action="/actionxyz?method=get" method="post"><div style="margin:0;padding:0;display:inline"> 

進一步更在url中我看到/actionxyz?method=get而不是我提供的搜索字符串。提供的搜索字符串出現在POST數據中。 這是否意味着rails不使用GET方法,或者我的解釋是錯誤的。 請澄清..

回答

5

它的解釋方法get的形式應該去路線的一部分,而不是額外的選項來form_tag。所以,你必須隔離開來:

form_tag({:action => "actionxyz"}, :method => "get") do 

或只是

form_tag url_path, method: :get do #where url_path is your route 
2

的的form_tag只需要的網址:

form_tag '/actionxyz', :method => "get"