【问题标题】:Display search query in results of basic search in Rails在 Rails 的基本搜索结果中显示搜索查询
【发布时间】:2010-11-24 02:29:03
【问题描述】:

我构建了一个基本搜索表单,用于查询我的应用的一个表中的一列。我关注了第 37 集 Railscast:http://railscasts.com/episodes/37-simple-search-form

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

我确信我可以做到这一点,因为查询的邮政编码被传递到显示结果的 url 中。因此,如果 url 可以拾取它,那么必须有某种方式在页面上的视图中显示它。但我不知道。

请记住,我没有使用任何搜索插件,我现在也不想使用任何插件。这是我的第一个应用程序,所以我不想在不需要的地方增加复杂性。

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

配置文件控制器

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

简介/索引.HTML.ERB

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

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

谢谢!

【问题讨论】:

    标签: ruby-on-rails search views


    【解决方案1】:

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

    def index
      @search = params[:search]  
      @profiles = Profile.search(@search)  
    end
    

    在你看来,你可以参考@search。

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

    【讨论】:

    • 谢谢。没有意识到格式不正常。因此,在我看来,我可以提出以下内容,对吗?

      中的企业。但我不确定在@search 部分之后该做什么。
    • 查看代码看起来不错。不过,我不确定您对“但我不确定在 @search 部分之后该做什么”的意思。
    • 谢谢,jdl。我之前的评论是错误的。我在执行您的指示时搞砸了,但您的解决方案有效。
    猜你喜欢
    • 2021-02-23
    • 2014-11-25
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2014-12-12
    • 2021-01-25
    • 2016-06-26
    • 1970-01-01
    相关资源
    最近更新 更多