Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 Redis+;heroku上的灵魂伴侣-在多个模型上实现自动完成_Ruby On Rails_Heroku_Autocomplete_Redis - Fatal编程技术网

Ruby on rails Redis+;heroku上的灵魂伴侣-在多个模型上实现自动完成

Ruby on rails Redis+;heroku上的灵魂伴侣-在多个模型上实现自动完成,ruby-on-rails,heroku,autocomplete,redis,Ruby On Rails,Heroku,Autocomplete,Redis,这是我第一次使用redis,我正在使用和redis在搜索表单上实现自动完成 我已经在本地机器上安装了redis,我必须运行redis服务器以确保redis正常工作 为了让它在heroku上工作,我使用并遵循了链接上给出的说明 然而,redis服务器似乎还没有启动,因为我在127.0.0.1:6379(EconRefused)上不断收到连接redis的错误 我在初始值设定项中创建了一个redis.rb文件,其代码如下:- ENV["REDISTOGO_URL"] ||= "redis://redi

这是我第一次使用redis,我正在使用和redis在搜索表单上实现自动完成

我已经在本地机器上安装了redis,我必须运行redis服务器以确保redis正常工作

为了让它在heroku上工作,我使用并遵循了链接上给出的说明

然而,redis服务器似乎还没有启动,因为我在127.0.0.1:6379(EconRefused)上不断收到连接redis的错误

我在初始值设定项中创建了一个redis.rb文件,其代码如下:-

ENV["REDISTOGO_URL"] ||= "redis://redistogo:972612d8048aad8@tarpon.redistogo.com:9436/"

uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
我希望这段代码能为我启动redis服务器


我还需要做什么才能让redis在heroku上工作?

在我绞尽脑汁两天后,我认为在生产中使用rails实现自动完成是一个糟糕的选择

我能够在我的开发机器上实现它,但redis+heroku对我来说是一场噩梦,redis_to_go团队的支持非常差


我已经使用实现了自动完成搜索

虽然你已经开始了,但要回答最初的问题:我在灵魂伴侣问题列表中找到了一个关于这个问题的讨论:(额外信息:修复程序在这个问题提出之前就已经被合并到gem中了)

因此,要解决这个问题:将'ENV[“REDIS_URL”]=ENV[“REDISTOGO_URL”]]添加到REDIS.rb。 我自己的redis.rb现在看起来像这样:

uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
ENV["REDIS_URL"] = ENV["REDISTOGO_URL"]

在反复使用Redis云支持后,我解决了这个问题

我需要创建一个文件-config/initializers/soulmate.rb:

Soulmate.redis = ENV["REDISCLOUD_URL"]
希望这能帮助别人