在Rails的基本搜索结果中显示搜索查询

Mik*_*keH 3 search views ruby-on-rails

我建立了一个基本的搜索表单,可以查询我的应用程序的一个表中的一列。我遵循了第37集Railscast:http: //railscasts.com/episodes/37-simple-search-form

这是我的问题。我想显示用户在显示搜索结果的视图中进行的搜索查询。在我的应用中,搜索查询我的个人资料模型的邮政编码列,并返回包含正确邮政编码的个人资料列表。在搜索返回的配置文件列表的顶部,我希望它说“位于[查询的邮政编码]中的配置文件”。

我确定可以这样做,因为查询的邮政编码已传递到显示结果的url中。因此,如果该URL可以接收它,那么还必须有某种方法也可以在页面的视图中显示它。但是我没有。

请记住,我没有使用任何搜索插件,并且暂时不想使用任何插件。这是我的第一个应用程序,因此我不想在不需要的地方增加复杂性。

根据Ryan在Railscast中的说明,这是我的设置:

档案控制器

def index  
    @profiles = Profile.search(params[:search])  
end
Run Code Online (Sandbox Code Playgroud)

轮廓模型

def self.search(search)
    if search
        find(:all, :conditions => ['zip LIKE ?', "%#{search}%"])
    else
        find(:all)
    end
end
Run Code Online (Sandbox Code Playgroud)

个人资料/INDEX.HTML.ERB

<% form_tag ('/profiles', :method => :get) do %>
    <%= text_field_tag :search, params[:search], :maxlength => 5 %>
    <%= submit_tag "Go", :name => nil %>        
<% end %>
Run Code Online (Sandbox Code Playgroud)

搜索本身运行良好,所以这不是问题。我只需要知道如何在显示结果的视图中显示查询的邮政编码。

谢谢!

jdl*_*jdl 5

只需将其设置为实例变量并使用它即可。

def index
  @search = params[:search]  
  @profiles = Profile.search(@search)  
end
Run Code Online (Sandbox Code Playgroud)

在您看来,您可以引用@search。

另外,作为友好提示,请为Rails代码使用2个空格的缩进。这是执行此操作的标准方法,正在阅读您的代码的其他人也会喜欢它。