0
我想合併form_tag
中的URL參數,但是我發現我無法指定params被覆蓋的參數。傳遞參數的目的是提供過濾和排序變量,因此我希望它們在URL中可見並且不隱藏。向form_tag添加URL參數
我來最接近的是要做到這一點:
form_tag(:controller => 'assets',:action => 'index', :params => params.merge(:order => 'name'), :method => :get) do
的問題是,:get
方法作爲另一PARAM簡單的通過並沒有實際的方法,所以它解析爲POST
。
我也試過以下,這也不起作用。
form_tag(params.merge(:order => 'name', :method => :get) do
的路徑是正確的,但網址參數的格式很奇怪,因爲你看到的參數是不與&
前綴,但在提交表單時,仍然丟失。
action="/assets?commit=Filter&order=name&utf8=%E2%9C%93" method="get"
這裏是覆蓋params的另一個例子。下面的代碼將生成表單代碼的基礎元素,但參數將被刪除。
form_tag(url_for(:order => 'name'), :method => :get) do
底層代碼,其中PARAMS將不會在提交決議:
action="/asset_ratings?order=name"
這應該是一條評論。鏈接的答案不是很好 - 嘗試解釋和*然後*鏈接。 – xxmbabanexx