0
這是我在努力實現我的Rails應用程序,新建軌所以請原諒我一個簡單的搜索,如果我已經取得了一些重大失誤搜索表單不返回預期
我第一次嘗試搜索表單,看起來像這樣
<%= form_tag({:controller => 'search', :action => 'search'}, {:method => 'get'}) do |s| %>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search" %>
<% end %>
我控制器
def search
@countrysearch = Recipe.find(params[:search])
end
現在我正在我的輸出結果,像這樣
<h4>output</h4>
<%= @countrysearch %>
我得到的輸出,但如果我尋找像威爾士一個字,我得到一個錯誤說不能根據ID找到,但如果我尋找像17的ID,然後我得到
#<Recipe:0x97b0fa8>
我已經調查過的find_by_sql方法,但我對此的理解是還沒有實現,IM unsre語法的搜索依賴於我輸入的字符串,但我想這並不重要因爲PARAMS是搜索領域的內容?
如果有任何可以幫助那將是非常讚賞
感謝
感謝你在清除了有關該方法的.find啊,我現在得到的結果返回# –
Richlewis
哦,失蹤)搜索後:) – Richlewis
我正在糾正失蹤),並添加更多的評論,應該澄清,因爲你正在嘗試:-)。使用'each'迭代器將強制''做它的事情並且實際執行執行搜索的SQL。如果由於某種原因,你需要結果作爲一個數組,你可以做'@countrysearch = Recipe.where(:country => params [:search]).'全部' –