我一直在帮助获取mongo文档列的最高值.我可以对它进行排序并获得顶部/底部,但我很确定有更好的方法可以做到这一点.
我尝试了以下(和不同的组合):
transactions.find("id" => x).max({"sellprice" => 0})
Run Code Online (Sandbox Code Playgroud)
但它一直在抛出错误.除了排序和获得顶部/底部之外,有什么好的方法呢?
谢谢!
我和sidekiq有问题.基本上我们NameError: uninitialized constant正在进行我们的sidekiq设置,导致大量作业失败.
错误日志说:
NameError: uninitialized constant GameUser::Lock
/data/@myapp/releases/20130321230952/app/models/game_user.rb:71:in `node_calls_base_get_user'
/data/@myapp/shared/bundled_gems/ruby/1.9.1/gems/sidekiq-2.8.0/lib/sidekiq/processor.rb:45:in `block (3 levels) in process'
/data/@myapp/shared/bundled_gems/ruby/1.9.1/gems/sidekiq-2.8.0/lib/sidekiq/middleware/chain.rb:109:in `call'
Run Code Online (Sandbox Code Playgroud)
代码在这里:
# app/models/game_user.rb
def self.node_calls_base_get_user(serial, game_name)
if Lock.get("user:#{id}") # Set up lock to prevent multiple users to be created
Lock.delete("user:#{id}")
end
return false
end
Run Code Online (Sandbox Code Playgroud)
锁定在库中定义:
# lib/lock.rb
class Lock
def self.get(key)
lock = CACHE.add("lock:#{key}", 1, 5) # Let lock autoexpire after 5 seconds
return true
end
end
Run Code Online (Sandbox Code Playgroud)
并且lib /文件夹会自动加载其余配置.
module Myapp
class Application < Rails::Application
...
# Custom directories with …Run Code Online (Sandbox Code Playgroud) 我正在使用ruby在rails上创建一个应用程序,其中有一个项目/ _item.html.erb.partial内部是一个yield语句,所以我可以根据需要添加额外的内容.在这种情况下,我想根据视图调用部分向项目添加特定按钮.
这是我试过的,它渲染部分,但它不渲染块:
_item.html.erb
<%= yield if block_given? %>
<div>
<%= item.name %>
</div>
Run Code Online (Sandbox Code Playgroud)
someview.html.erb
...
<% render(:partial => 'items/item', :collection => current_user.items do %>
<%= "HELLO" %>
<% end %>
...
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用content_for和其他一些东西但没有成功.有没有办法能够在部分通过收益率内呈现特定内容?我目前正在使用Rails3
编辑:
我发现它是:集合哈希使得无法插入块.
这两段代码都有效:
<%= render :layout => 'items/item' do %>
Hello world
<% end %>
<%= render :layout => 'items/item', :locals => {:item => current_user.items.first} do %>
Hello world
<% end %>
Run Code Online (Sandbox Code Playgroud)
这意味着如果我做了一个.我可以完成我想要的东西,但这将是丑陋的代码.有人知道解决这个问题吗?
我遇到了Ruby 1.8.7 strftime的问题,其中%z在我将时间转换为UTC后返回本地时间.
我正在做以下事情:
>> t = Time.now
=> Mon Dec 19 15:20:16 -0800 2011
>> t.strftime("%z")
=> "-0800"
>> t = Time.now.utc
=> Mon Dec 19 23:20:28 UTC 2011
>> t.strftime("%z")
=> "-0800"
Run Code Online (Sandbox Code Playgroud)
即使我将时间更改为UTC,格式化的时区也会默认为我的本地PST -0800.
这是一个已知的问题?有办法解决吗?
我正在使用sidekiq和redis.我试图找出并调试一些问题,但为此,我想知道sidekiq连接到哪个URL.我知道我可以在我设置我的服务器和客户端的文件中检查它,但是有一个函数我可以使用ala Resque.redis来显示redis实例sidekiq连接到什么?
提前致谢!