Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails 3中搜索_Ruby On Rails - Fatal编程技术网

Ruby on rails 在Rails 3中搜索

Ruby on rails 在Rails 3中搜索,ruby-on-rails,Ruby On Rails,情况是这样的:我需要搜索具体信息或一般信息,就像expedia.com或您当地的图书馆目录搜索一样 在这方面,有一些字段可以根据个人需要填写,也可以不填写。它就像一个“高级搜索页面”。我已经为模型/控制器等编写了所有代码,并使用搜索控制器以及匹配的模型和视图进行了设置 我的问题是,有没有一种方法可以减少要获取的参数数量,这样url就不会被搜索?搜索[:a]=“”+搜索[:b]=“”+搜索[:c]=“x”。。。加上unicode复选标记。我只希望填写的字段显示在响应链接中,特别是减去复选标记 cb

情况是这样的:我需要搜索具体信息或一般信息,就像expedia.com或您当地的图书馆目录搜索一样

在这方面,有一些字段可以根据个人需要填写,也可以不填写。它就像一个“高级搜索页面”。我已经为模型/控制器等编写了所有代码,并使用搜索控制器以及匹配的模型和视图进行了设置

我的问题是,有没有一种方法可以减少要获取的参数数量,这样url就不会被搜索?搜索[:a]=“”+搜索[:b]=“”+搜索[:c]=“x”。。。加上unicode复选标记。我只希望填写的字段显示在响应链接中,特别是减去复选标记


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也值得一看。