0
我正在製作旅遊度假應用程序。搜索地點是基於選擇下拉菜單中的類別。使用選擇下拉列逐行篩選列表
但我無法理解程序邏輯。我能夠加載數據庫中的內容。但不能根據某些類別進行過濾。 我做了一個名爲的腳手架,列出了幷包含了一些參數。 在數據庫中有5列,即,地方,描述,IMAGE_URL,價格,類別的排。
現在,如果我創建另一個控制器,搜索,我不能根據選擇下拉列表中的類別加載一行。
Search_controller.rb
def index
@categories = Listing.find_by_sql("SELECT category FROM listings GROUP BY category").map &:category
@list = params[:category].blank? ? Listing.all : Listing.find_all_by_category(params[:category])
end
index.html.erb
<% form_tag(:action => :index) do %>
<%= select_tag "category", options_for_select(@categories) %>
<%= submit_tag "Filter" %>
<% end %>
<table>
<% @list.each do |list| %>
<tr>
<td><%= list.place %></td>
</tr>
<% end %>
</table>
它不顯示的選擇選項。
而且,我試圖做到這一點,而不選擇形式
Search_controller.rb
def index
@list = Listing.select(:category).map(&:category).uniq
end
Index.html.erb
<% @list.each do |r| %>
<%= r.place %>
<% end %>
它說:未定義方法「放置」爲「晴天」:字符串(其中「sunny」是一個類別)
基本上,您如何根據某個列值得到該行。而且,邏輯是否也適用於兩個選擇下拉菜單?
我知道我很接近,但有些事情不對。請幫助我。
非常感謝。
嘿謝謝你糾正錯字。但我猜這是行不通的。擊中過濾器說沒有路線匹配SEARCH - > INDEX。我認爲選擇標籤必須被處理。如何做到這一點。 – curiousCoder