Ruby on rails 在Rails 3中搜索
情况是这样的:我需要搜索具体信息或一般信息,就像expedia.com或您当地的图书馆目录搜索一样 在这方面,有一些字段可以根据个人需要填写,也可以不填写。它就像一个“高级搜索页面”。我已经为模型/控制器等编写了所有代码,并使用搜索控制器以及匹配的模型和视图进行了设置 我的问题是,有没有一种方法可以减少要获取的参数数量,这样url就不会被搜索?搜索[:a]=“”+搜索[:b]=“”+搜索[:c]=“x”。。。加上unicode复选标记。我只希望填写的字段显示在响应链接中,特别是减去复选标记Ruby on rails 在Rails 3中搜索,ruby-on-rails,Ruby On Rails,情况是这样的:我需要搜索具体信息或一般信息,就像expedia.com或您当地的图书馆目录搜索一样 在这方面,有一些字段可以根据个人需要填写,也可以不填写。它就像一个“高级搜索页面”。我已经为模型/控制器等编写了所有代码,并使用搜索控制器以及匹配的模型和视图进行了设置 我的问题是,有没有一种方法可以减少要获取的参数数量,这样url就不会被搜索?搜索[:a]=“”+搜索[:b]=“”+搜索[:c]=“x”。。。加上unicode复选标记。我只希望填写的字段显示在响应链接中,特别是减去复选标记 cb
cbarton您可能应该考虑外部搜索服务,而不是尝试用各种搜索参数重新设计轮子 Solr是一个开源搜索引擎,您可以使用“acts_as_Solr”将其插入rails模型:
gem install acts_as_solr
script/plugin install git://github.com/mattmatt/acts_as_solr.git
def Article < ActiveRecord::Base
acts_as_solr :fields => [ :title, :body ]
...
gem安装充当解决方案
脚本/插件安装git://github.com/mattmatt/acts_as_solr.git
def Article[:title,:body]
...
然后,您需要在rails项目中编辑./config/solr.yml以连接到solr服务器
如果您使用Heroku进行部署,这非常简单:
否则,请看一下应用程序域正在进行路由搜索,因此我已经在使用一些地理定位工具来收集结果。为了澄清这一点,我想知道是否有可能去掉一个表单的utf8参数(这样它就不会出现在浏览器的url中),并剪掉空参数,因为它们不需要。哦,我明白了,在这种情况下,你可能在看jquery来捕捉onsubmit事件,将搜索词序列化为更好的格式,提交表单,然后在rails控制器中反序列化;至少还不算太坏。感谢您提供的解决方案。IndexTank也值得一看。