草庐IT

Soulmate

全部标签

ruby-on-rails - Redis + Soulmate on heroku - 在多个模型上实现自动完成

这是我第一次使用Redis,我正在使用soulmate在搜索表单上实现自动完成功能和雷迪斯。我已经在我的本地机器上安装了redis,我必须执行redis-server以确保redis正常工作。为了让它在heroku上运行,我使用了redis_to_go并按照链接上给出的说明进行操作。然而,redis服务器似乎没有启动,因为我不断收到错误ErrorconnectingtoRedison127.0.0.1:6379(ECONNREFUSED)。我在初始化程序中创建了一个redis.rb文件,其中包含以下代码:-ENV["REDISTOGO_URL"]||="redis://redistog

ruby-on-rails - 使用 Soulmate 和 Redis 进行自动完成时未定义的方法 `downcase'

我正在尝试为产品创建一个text_field_tag自动完成功能。为此,我使用Soulmate然后跟着这个tutorial但在实现代码并将其更改为我的应用程序后遇到了问题。当我转到localhost:3000/sm时,soulmate服务器确实运行正常。现在我的代码是这样的:产品型号classProductp["id"],"name"=>p["term"]}}endprivatedefadd_to_soulmateloader=Soulmate::Loader.new('product')loader.add('term'=>name,'id'=>self.id)enddefremov

ruby-on-rails - 使用 Soulmate 和 Redis 进行自动完成时未定义的方法 `downcase'

我正在尝试为产品创建一个text_field_tag自动完成功能。为此,我使用Soulmate然后跟着这个tutorial但在实现代码并将其更改为我的应用程序后遇到了问题。当我转到localhost:3000/sm时,soulmate服务器确实运行正常。现在我的代码是这样的:产品型号classProductp["id"],"name"=>p["term"]}}endprivatedefadd_to_soulmateloader=Soulmate::Loader.new('product')loader.add('term'=>name,'id'=>self.id)enddefremov

ruby-on-rails - 在 Soulmate::Loader 中添加两个参数

我的模型中有两个字段,我想将它们添加到Soulmate::Loader中:例如,我的“人”模型有姓名和电子邮件字段。然后我想在Soulmate中加载:loader=Soulmate::Loader.new("people")loader.add("term"=>name,"id"=>self.id,"data"=>{"link"=>Rails.application.routes.url_helpers.person_path(self)})我想在loader.add中添加name和email。但我不能。defload_into_soulmateloader=Soulmate::Loa

ruby-on-rails - rails : soulmate gem pipelining for multiple types

我正在使用soulmate我的Rails应用程序中用于自动完成的gem,我遇到的一个大问题是从客户端到Redis服务器再返回的查询延迟。快速浏览gem代码显示#inlib/soulmate/server.rb#searchtypes.eachdo|type|matcher=Matcher.new(type)results[type]=matcher.matches_for_term(term,:limit=>limit)end如您所见,为每个类型(即“location”、“user”、“venue”、等),然后使用matches_for_term方法查询Redis服务器。这意味着如果我

ruby-on-rails - 如何 : View Redis Data inside Rails application (using Soulmate)

我是ruby​​onrails的新手。目前我正在使用Redis/Soulmate来实现自动完成功能。我正在启动一个新的加载器并像这样放入我的约会模型:loader=Soulmate::Loader.new("appointments")putsloader.inspect我得到输出:#但是如果我开始像这样添加到加载器:loader.add("term"=>"randomappointment","id"=>1)我如何在我的Rails应用程序中查看此命令的输出-我想查看我刚刚在加载程序中输入的数据(soulmate哈希)。我正在尝试这样的事情,但没有任何效果:putssoulmate-d

ruby-on-rails - Rails、Soulmate、Redis 删除记录

我使用Soulmate来自动完成搜索结果,但是我希望能够在一段时间后删除记录,这样它们就不会再次出现在搜索字段中。用Soulmate重新加载列表似乎有点老套和不必要。我已经使用json来加载并且我有一个唯一的记录“id”{"id":1547,"term":"FooBaar,Baaz","score":85}如何从Redis中删除该记录,使其不再出现在搜索结果中? 最佳答案 使用redis-cli命令直接从Redis执行此操作并非易事。查看soulmate代码,数据结构如下:包含所有前缀的soulmate-index:[type]集合

ruby-on-rails - Rails/Redis/Soulmate - 如何按用户角色限制搜索结果?

我已将我的应用程序设置为使用Soulmate和soulmate.js进行自动完成。它搜索两种模型-用户和书籍。但是,我对用户有多个角色——有些是作者,有些是读者。我只希望作者出现在结果中。有没有办法根据新用户的角色限制在注册时添加到Redis的内容?在user.rb中(使用"ifrole="author")不起作用defload_into_soulmateloader=Soulmate::Loader.new("authors")loader.add("term"=>fullname,"id"=>self.id,"data"=>{"link"=>Rails.application.ro