rails模型基本搜索与复选框

时间:2014-05-08 07:06:09

标签: ruby-on-rails ruby search

我正在开发rails中的搜索功能,我想要一个适用于所有网站的常用搜索方法。为此,我在app控制器中创建了一个方法,它有两个参数,一个是modleName,另一个是fieldsArray。但我无法做到。请帮帮我。

我希望我在模型中设置一个变量,我需要在哪些列上搜索(attr_accessible),然后我需要一个我在视图文件中调用的元素,它会获取所有列带有我在模型中设置的标签和复选框。并且我得到一个结果,其中包含我在搜索框中输入的特定列名称以及我选择的列,列将被多次选中。

请帮忙。

由于

1 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

创建一个具有通用搜索方法的实用程序类。

class Util
  # modelName is a string, fields would be an array of strings, keyword is string as well
  # You could either call fire search from here or from individual models

  def search(modelName, fields, keyword)
    query = ""
    fields.size.each_with_index do |field, index|
      query += "#{field} like #{keyword} "
      query += " OR " if index < fields.size
    end

    modelName.constantize.where(query)
    # Or create search method in all ur models which you want to search and 
    modelName.constantize.search(fields, keyword)

   end
 end

我还没有将模型搜索方法包含在内,因为它可以解释该方法应该是什么样的。

如果有帮助,请告诉我