我正在研究rails中的搜索功能,我想为所有站点提供一个通用的搜索方法。为此,我在app控制器中创建了一个方法,有两个参数,一个是modleName,另一个是fieldsArray。但是我做不到。请帮帮我。
我想我在模型中设置一个变量,在其中列我需要搜索像(attr_accessible),然后我需要一个元素,我在视图文件中调用,它得到所有列的标签和复选框,我在模型中设置。并且我得到的结果具有我在搜索框中输入的特定列名和我选择的列,列将是多重选择的。
请帮助。
谢谢
希望对您有所帮助:
创建一个实用程序类,其中包含您的通用搜索方法。
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
我还没有包括模型搜索方法,因为它本身就说明了方法应该是什么样子。
如果有帮助请告诉我