小编Led*_*ddo的帖子

思考狮身人面像与日期范围

我正在为我的rails应用程序实现一个全文搜索API,到目前为止,我已经在Thinking Sphinx上取得了巨大的成功.

我现在想要实现日期范围搜索,并继续获得"范围错误值"错误.

这是控制器代码的片段,我对下一步做什么有点困惑.

    @search_options = { :page => params[:page], :per_page => params[:per_page]||50 }

    unless params[:since].blank?
        # make sure date is in specified format - YYYY-MM-DD
        d = nil
        begin
            d = DateTime.strptime(params[:since], '%Y-%m-%d')
        rescue
            raise ArgumentError, "Value for since parameter is not a valid date - please use format YYYY-MM-DD"
        end
        @search_options.merge!(:with => {:post_date => d..Time.now.utc})
    end
    logger.info @search_options
    @posts = Post.search(params[:q], @search_options)
Run Code Online (Sandbox Code Playgroud)

当我查看日志时,我看到这一点似乎暗示日期尚未转换为与Time.now.utc相同的时间格式.

withpost_date2010-05-25T00:00:00+00:00..Tue Jun 01 17:45:13 UTC 2010
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?基本上我试图让API请求在"自"日期传递,以查看特定日期之后的所有帖子.我指定日期应该是YYYY-MM-DD格式.

谢谢你的帮助.克里斯

编辑: 我刚刚将日期参数merge语句更改为此

@ search_options.merge!(:with => {:post_date => …

ruby-on-rails thinking-sphinx

7
推荐指数
2
解决办法
2474
查看次数

Rails 3 - 如何从具有订单的模型中获取行号

我正在整理一个具有排行榜概念的小应用程序.基本上,模型只是一个player_name和一个current_score.

我想要做的是获得特定玩家的排名,并且考虑到新的分数一直在进行,它需要是动态的.显然,我可以使用order by子句进行正常查找,然后我必须循环遍历每条记录.当我有100,000行时,效率不高.

我应该采取什么方法的任何建议?

以下是表的迁移:

class CreateScores < ActiveRecord::Migration
  def self.up
    create_table :scores do |t|
      t.string  :player_name
      t.integer :current_score

      t.timestamps
    end
  end

  def self.down
    drop_table :scores
  end
end
Run Code Online (Sandbox Code Playgroud)

编辑作为一个例子,所以我有以下内容:

Score.select('player_name, current_score').limit(20)
=> [#<Score player_name: "Keith Hughes", current_score: 9>, #<Score player_name: "Diane Chapman", current_score: 8>, #<Score player_name: "Helen Dixon", current_score: 4>, #<Score player_name: "Donald Lynch", current_score: 9>, #<Score player_name: "Shawn Snyder", current_score: 2>, #<Score player_name: "Nancy Palmer", current_score: 9>, #<Score player_name: "Janet Arnold", current_score: 1>, #<Score player_name: "Sharon Torres", current_score: 9>, …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

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

如何从JSON对象解析数据?

我刚刚开始涉足使用JSON Web服务,我在找到实际数据元素的最佳方法时遇到了一些麻烦.

我收到的响应已使用该JSON.parse方法转换为Ruby哈希.哈希看起来像这样:

{"response"=>{"code"=>2002, "payload"=>{"topic"=>[{"name"=>"Topic Name", "url"=>"http://www.something.com/topic", "hero_image"=>{"image_id"=>"05rfbwV0Nggp8", "hero_image_id"=>"0d600BZ7MZgLJ", "hero_image_url"=>"http://img.something.com/imageserve/0d600BZ7MZgLJ/60x60.jpg"}, "type"=>"PERSON", "search_score"=>10.0, "topic_id"=>"0eG10W4e3Aapo"}]}, "message"=>"Success"}}
Run Code Online (Sandbox Code Playgroud)

我想知道的是,获取"主题"数据的最简单方法是什么,所以我可以这样做:

topic.name = json_resp.name
topic.img = jsob_resp.hero_image_url
etc
Run Code Online (Sandbox Code Playgroud)

ruby json

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