EDIT 2的Rails 4.2使用的form_tag創建搜索,但沒有使用查詢字符串PARAMS
相關問題here。
編輯
這是我需要提交路線:
get '/s/:term', controller: :products, action: :search, as: :search_products
我有這樣的一個搜索表單:
<%= form_tag(search_products_path, :method => "get", id: "search-form", name: "f1", enforce_utf8: false) do %>
<div class="input-group">
<%= text_field_tag :search, params[:search], placeholder: "Search products", class: "form-control", name: "search" %>
<div class="input-group-btn">
<button class="btn btn-secondary">
<span class="glyphicon glyphicon-search"></span>
</button>
</div>
</div>
<% end %>
但是這創造了這樣的網址:
domain/s?search=[user input]
我需要的URL是這樣,而不是:
domain/s/[user_input]
是我不知道這是不是下面的Rails約定。在這一點上,我無所謂,我只需要弄明白。
感謝。
這不是Rails標準,它是HTML/HTTP標準 - 問題在於你的表單使用'get'而不是'post',這就是GET請求的標準URL ... –
我知道這不是標準。我在這個問題上說。我已經添加了一個編輯來顯示我嘗試使用此表單創建的路線。 – rmcsharry
它不能是POST,因爲它必須是可以緩存的「永久鏈接」。注意它是一個SEARCH表單,所以它不會在服務器上創建任何東西,只是檢索一些搜索結果。 – rmcsharry