0
我從一個搜索表單開始很小,並試圖讓基礎工作。預先感謝您提供的任何幫助。爲什麼我的簡單Rails form_tag搜索表單使用正確的方法提供結果?
我正在編輯Rails 2.3遺留應用程序並修改其舊搜索表單。現在,它只有一個字段用於在我的數據庫中進行文本搜索(通過匹配城市)。當我提交表單時,它從「URL /搜索位置」變爲「URL /搜索位置?城市= Los + Angeles」,但不顯示結果。根據我的日誌,我認爲問題在於它沒有呈現正確的視圖。
表Page(index.html.erb
<% form_tag search_path, :method => 'get' do %>
<%= text_field_tag :city, params[:city] %>
<%= submit_tag "Search", :name => nil %>
<% end %>
結果頁(results.html.erb)
<% for location in @site_matches %>
<h3><%= location.name %></h3>
<% end %>
控制器(search_controller.rb)
class SearchController < ApplicationController
def index
render :layout => 'mylayout'
end
def results
@site_matches = Location.find(:all, :conditions => ["city = ?", params[:city]])
render :layout => 'mylayout'
end
end
登錄
Processing SearchController#index (for X at X) [GET]
Parameters: {"city"=>"Los Angeles"}
Rendering template within layouts/mylayout
Rendering search/index
Completed in 9ms (View: 9, DB: 0) | 200 OK [URL/search-for-locations?city=Los+Angeles]
路線
map.resources :search
map.search '/search-for-locations', :controller => 'search', :action => 'index'
同樣,我很欣賞這個您的幫助!