小编Yeg*_*eps的帖子

弹性搜索结果中的返回距离?

我的问题是,类似这样的一个.

简单来说,有没有办法在不使用_geo_distance进行排序时返回地理距离?

更新:为了澄清,我希望结果是随机顺序并包括距离.

geolocation elasticsearch

34
推荐指数
3
解决办法
2万
查看次数

随机顺序和分页Elasticsearch

此问题 中,使用可选种子进行排序的功能请求允许重新创建随机顺序.

我需要能够对随机排序的结果进行分页.怎么可以用Elasticsearch 0.19.1完成?

谢谢.

random pagination elasticsearch

30
推荐指数
3
解决办法
2万
查看次数

OAuth流程,iPhone - > Rails - > Facebook

我正在使用Web客户端和iPhone客户端构建应用程序.

在Web客户端上,我通过Facebook使用Omniauth对用户进行身份验证,然后用户可以将应用上的操作发布到Facebook.这很好用.

我在从iPhone应用程序实现Auth流程时遇到一些问题.

我在rails应用程序中将Doorkeeper设置为OAuth提供程序.虽然我不确定如何实现身份验证流程.

我想出了这个:用户可以在iPhone中登录Facebook并获得令牌.然后我们的想法是将令牌以及Facebook uid发送到rails应用程序,存储它,并使用Omniauth对用户进行身份验证.一旦用户通过身份验证,就会生成一个带有Doorkeeper的令牌并将其发送回iPhone应用程序.

如果这是用户第一次针对rails应用进行身份验证,则会创建一个新用户.

然后,用户可以针对JSON-api执行操作,并且rails app将负责Facebook集成,因为Facebook令牌存储在用户记录中.

该应用程序还将跨越多个域,因此我需要注册多个Doorkeeper应用程序以提供不同的回调uri.

这似乎是一个可行的解决方案吗?它安全吗?有替代流量/方法吗?

谢谢.

facebook ruby-on-rails oauth-2.0 omniauth

12
推荐指数
1
解决办法
5172
查看次数

在rails可安装引擎中添加资产路径?

如何添加vendor/assets/javascripts/mymountableengine或加载vendor/assets/stylesheets/mymountableengine可安装引擎的资产路径?我希望能够在我的可安装引擎的带有sprockets的application.js/application.css文件中要求这些文件夹中的文件.

Rails 3.2.2

谢谢.

ruby-on-rails rails-engines

12
推荐指数
2
解决办法
8378
查看次数

Namespaced模块和Rails 3.1.3 autoload_path

我在为模型中包含的模块命名空间时遇到了一些麻烦.

在/app/models/car.rb中

class Car
 include Search::Car
end
Run Code Online (Sandbox Code Playgroud)

在/lib/search/car.rb中

module Search
  module Car
    include ActiveSupport::Concern
    # methods in here
  end
end
Run Code Online (Sandbox Code Playgroud)

在/config/application.rb中

config.autoload_paths += Dir["#{config.root}/lib/**/"]
config.autoload_paths += Dir["#{config.root}/lib/search/*"]
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我启动服务器时,我没有直接得到任何错误.但是如果我在一段时间后刷新浏览器,我会收到此错误:

Expected #{Rails.root}/lib/search/car.rb to define Car
Run Code Online (Sandbox Code Playgroud)

问题的性质表明它与以下内容有关:

/config/environments/development.rb

config.cache_classes = false
Run Code Online (Sandbox Code Playgroud)

我也尝试将文件search.rb直接放在/lib我定义的位置Search:

module Search
  # Put shared methods here
end
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

更新:

好吧,事实证明,如果我重新命名Search::Car,以Search::CarSearch它的工作原理.是否不可能在不同的范围内具有相同名称的模块/类?

ruby ruby-on-rails

7
推荐指数
1
解决办法
1744
查看次数

是否可以在ElasticSearch中对嵌套文档进行排序?

可以说我有以下映射:

"site": {
  "properties": {
    "title":       { "type": "string" },
    "description": { "type": "string" },
    "category":    { "type": "string" },
    "tags":        { "type": "array" },
    "point":       { "type": "geo_point" }
    "localities":  { 
      type: 'nested',
      properties: {
        "title":       { "type": "string" },
        "description": { "type": "string" },
        "point":       { "type": "geo_point" }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,我在父文档上执行"_geo_distance"排序,并能够对"site.point"上的文档进行排序.但是,我还希望嵌套的局部性在父文档中按"_geo_distance"排序.

这可能吗?如果是这样,怎么样?

elasticsearch

7
推荐指数
1
解决办法
3793
查看次数

具有嵌入关联的深层克隆文档

您将如何在MongoDB中深入克隆文档(mongoid)

我尝试过这样的事情;

original = Car.find(old_id)
@car = original.clone
@car._id = BSON::ObjectId.new
Run Code Online (Sandbox Code Playgroud)

但是我之后遇到问题的反序列化问题.

如何使用除_id之外的所有文档属性进行深度克隆?

编辑:在遵循Zachary的示例后,我遇到了一些针对重复文档的自定义序列化类的问题.

class OptionHash
  include Mongoid::Fields::Serializable

  # Convert the keys from Strings to Symbols
  def deserialize(object)
    object.symbolize_keys!
  end

  # Convert values into Booleans
  def serialize(object)
    object.each do |key, value|
    object[key] = Boolean::MAPPINGS[value]
  end
end
Run Code Online (Sandbox Code Playgroud)

对于重复文档,对象为零.Car.find(old_id).attributes确实不包含自定义序列化的字段,为什么会这样,我该如何包含它?

mongodb mongoid

6
推荐指数
1
解决办法
4041
查看次数

Ruby每个,不同的动作取决于索引,有一个模式?

好的,所以我的标题可能会令人困惑.我想要做的是循环遍历一组模型,前两个渲染模板,接下来的四个渲染一个不同的模板,然后两个渲染相同的模板,就像第一个模板一样,依此类推.

像这样:

  <% ads.each do |ad| %>
    <% # if it's 1-2, 7-8, 13-14 and so on render as big' %>
      <%= render 'front/home/big_ad', ad: ad %>
    <% # if it's 3-6, 9-12, 15-18 and so on render as small' %>
      <%= render 'front/home/small_ad', ad: ad %>
    <% end %>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

什么是最干净的方法来实现这一目标?

ruby erb

5
推荐指数
1
解决办法
4458
查看次数

recreate_versions!使用wiki中声明的唯一文件名方法

我正在尝试使用method recreate_versions!但我正在使用wiki中的方法来创建唯一的文件名.问题是当我运行recreate_versions!它时更改文件名但它不会在已安装的对象本身上更新它们.我怎么能刷新这些URL?

ruby rubygems carrierwave

4
推荐指数
1
解决办法
3383
查看次数

开放时间的架构MongoDB

你如何在mongoDB中的文档中存储开放时间,比如使用Mongoid可以轻松查询?我已经读过这个帖子,但我不确定如何根据我的需要实现它.

我需要能够每天添加多个打开和关闭时间,因为图书馆应该能够在白天关闭几个小时然后重新打开.

我需要能够在这些开放时间添加例外.例如; 在特定日期关闭星期一.

请分享一些关于如何以最灵活的方式做到这一点的最佳实践和经验.

mongodb mongoid

4
推荐指数
1
解决办法
2098
查看次数