我构建了一个基本搜索表单,用于查询我的应用程序的一个表中的一列。我跟着第37集Railscast:http://railscasts.com/episodes/37-simple-search-form
这是我的问题。我想显示用户在显示搜索结果的视图中进行的搜索查询。在我的应用中,搜索会查询我的个人资料模型的邮政编码列,并返回包含正确邮政编码的个人资料列表。在搜索返回的配置文件列表的顶部,我希望它说“位于[查询的邮政编码]中的配置文件。”
我确信我可以这样做,因为查询过的邮政编码会传递到显示结果的网址中。因此,如果网址可以提取,则必须有一些方法在页面视图中显示它。但我不知道如何。
请记住,我没有使用任何搜索插件,我现在不想使用任何搜索插件。这是我的第一个应用程序,因此我不想在不需要的地方添加复杂性。
Per Ryan在Railscast中的说明,这是我的设置:
PROFILES CONTROLLER
def index
@profiles = Profile.search(params[:search])
end
简介模型
def self.search(search)
if search
find(:all, :conditions => ['zip LIKE ?', "%#{search}%"])
else
find(:all)
end
end
PROFILE / INDEX.HTML.ERB
<% form_tag ('/profiles', :method => :get) do %>
<%= text_field_tag :search, params[:search], :maxlength => 5 %>
<%= submit_tag "Go", :name => nil %>
<% end %>
搜索本身运作正常,所以这不是问题。我只需要知道如何在显示结果的视图中显示查询的邮政编码。
谢谢!
答案 0 :(得分:4)
将其设置为实例变量并使用它。
def index
@search = params[:search]
@profiles = Profile.search(@search)
end
在您看来,您可以参考@search。
另外,作为一个友好的提示,请使用Rails代码的缩进2个空格。这是执行此操作的标准方法,其他正在阅读您的代码的人会很感激。