【问题标题】:Ruby on Rails Multiple search queryRuby on Rails 多重搜索查询
【发布时间】:2013-06-27 09:15:28
【问题描述】:

我必须修改网站主页中的搜索。代码用 Ruby 语言编写并使用“Rails”框架。

***图片******

在这里,已经有一个使用邮件 ID 进行搜索的选项。但是也有一个 id 字段。需要实现多重搜索。

已经写好“视图”的代码(MVC架构):-

 <form action="/users/search" method="POST">
   <label for="email">Email</label>
   <input type="text" name="email" />&nbsp;
   <input type="submit" name="search" value="Search" />
   <input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>" />
 </form>

已经编写了它的“控制器”(MVC架构)的代码:-

 def search 
    @users = User.paginate(
            :conditions => ["email LIKE ?", '%' + params[:email] + '%'], 
            :page => params[:page], :per_page => 25, 
            :order => params[:order].nil? ? 
            :email :  params[:order].gsub('-', ' ')
            )

   if @users.length == 1
     redirect_to edit_user_path(@users.first)
   else
     render "index"
   end
  end
  • 请帮助我在满足这些条件的控制器文件中使用多重搜索:-

  • 使用 id 搜索

  • 用电子邮件搜索(已写)
  • 使用电子邮件和 ID 搜索

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    在视图部分

    <form action="/users/search" method="POST">
           <label for="email">Email</label>
           <input type="text" name="email" />&nbsp;
           <label for="user_id">ID</label>
           <input type="text" name="user_id" />&nbsp;
           <input type="submit" name="search" value="Search" />
           <input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>" />
    </form>
    

    在搜索动作中

    @users = User.paginate(
                :conditions => ["email LIKE ? or id = ?", '%' + params[:email] + '%', params[:user_id]], 
                :page => params[:page], :per_page => 25, 
                :order => params[:order].nil? ? 
                :email :  params[:order].gsub('-', ' ')
                )
    

    它会搜索带有id、email和id或email的记录。

    【讨论】:

      猜你喜欢
      • 2017-03-24
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 2010-11-05
      相关资源
      最近更新 更多