小编Pri*_*ley的帖子

为什么在Rails 3.1上使用带范围的合并方法不再有效?

我偶然发现了一篇关于Rails 3+范围的精彩文章:http://edgerails.info/articles/what-s-new-in-edge-rails/2010/02/23/the-skinny-on-scopes-formerly -named-范围/ index.html中

你可以在那里阅读(在'Crazy Town'部分),可以合并来自不同模型的范围,如下所示:

class User < ActiveRecord::Base

  scope :published, lambda {
    joins(:posts).group("users.id") & Post.published
  }
end
Run Code Online (Sandbox Code Playgroud)

它按预期工作,并允许您这样做:

User.published.to_sql
#=> SELECT users.* FROM "users"
#   INNER JOIN "posts" ON "posts"."author_id" = "users"."id"
#   WHERE (posts.published_at IS NOT NULL AND posts.published_at <= '2010-02-27 02:55:45.063181')
#   GROUP BY users.id
Run Code Online (Sandbox Code Playgroud)

我在我的Rails 3.1项目中尝试了这种方法,显然它已不再适用了.

所以我克隆了文章的Rails 3.0.0-beta1项目,看到我的眼睛说这些人没有说谎,事情按照他们说的方式工作.

然后我3.1了,现在我得到了:

ruby-1.9.2-p290 :003 > User.published.to_sql
  User Load (0.3ms)  SELECT "users".* FROM "users" INNER JOIN "posts" ON "posts"."author_id" = "users"."id" GROUP BY users.id
  Post Load …
Run Code Online (Sandbox Code Playgroud)

scopes ruby-on-rails-3 ruby-on-rails-3.1

11
推荐指数
1
解决办法
2837
查看次数

Java如何在java中解析uint8?

我有一个来自UDP数据包的uint8 (无符号8位整数).Java仅使用带符号的原语.如何使用java正确解析此数据结构?

java bit-manipulation

10
推荐指数
3
解决办法
1万
查看次数

使用Eventlet从WSGI应用程序获取客户端IP地址

我目前正在编写一个基于Python Eventlet库的基本调度模型服务器(http://eventlet.net/doc/).看过Eventlet上的WSGI文档(http://eventlet.net/doc/modules/wsgi.html),我可以看到eventlet.wsgi.server函数除了客户端之外还记录了x-forwarded-for头文件IP地址.

但是,获取此方法的方法是附加一个类文件对象(默认为sys.stderr),然后将该服务器管道连接到该对象.

我希望能够从应用程序本身获取客户端IP(即具有start_response和environ作为参数的函数).实际上,环境密钥对此非常完美.有没有办法简单地获取IP地址(即通过环境字典或类似),而不必采取某种方式重定向日志对象?

python wsgi eventlet

9
推荐指数
1
解决办法
7549
查看次数

生成最终存档时出错:java.io.FileNotFoundException:xxx\bin\resources.ap_不存在

Yeaterday我安装了一些旧版本的google apis,之后一切都出错了.我创建它的每个项目都显示"项目包含错误修复它们".它显示以下错误:

生成最终存档时出错: java.io.FileNotFoundException: C:\xxx\maps\bin\resources.ap_ does not exist maps Unknown Android Packaging Problem Unparsed aapt error(s)! Check the console for output. maps Unknown Android Packaging Problem

我用过Project->clean.gen再次删除文件夹但没有帮助.我现在应该怎么做 ?

android android-ndk android-manifest android-emulator android-layout

8
推荐指数
1
解决办法
1万
查看次数

如何快速找到两个几乎相同的文件之间的差异?

如果您有两个主要相同的文件,其中包含1000条记录,您将如何编写代码来查找它们之间的差异.假设不允许使用unix/linux命令.

我的想法:

因为大多数条目都是相同的,所以我们可以对这两个文件的条目进行排序,然后逐个比较每个条目,例如file1中的条目i与file2中的条目i相比较.它是O(n lg n),n是文件的大小.

有O(n)解决方案吗?

c c++ algorithm comparison data-structures

8
推荐指数
1
解决办法
639
查看次数

在iPhone应用程序中保存状态的位置

我想知道正确的地方可以保存应用程序的运行状态,因为iCloud和iOS5已经改变了各种选项的工作方式.

NSUserDefaults的?我总觉得这是设置的印象.国家也可以吗?

该应用程序的NSDocumentDirectory?是不是与iCloud同步?我没有特别希望上传应用程序的状态.这是不必要的.

缓存?现在已经被清除了.这不是一个保存东西的安全点.

那么这些天拯救国家的官方推荐地点是什么?

ios

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

如何在Scala中获取Java的int.class?

我正在使用Scala与Java的反射API进行一些工作.但我似乎无法弄清楚如何在Scala中访问Java中的内容:int.class,float.class,boolean.class.

基本上是表示原始数据类型的类对象.

那么什么是int.class的Scala版本?

java reflection scala

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

使用atoi的结果不同

有人可以解释为什么这些电话没有返回相同的预期结果?

unsigned int GetDigit(const string& s, unsigned int pos)
{
      // Works as intended
      char c = s[pos];
      return atoi(&c);

      // doesn't give expected results
      return atoi(&s[pos]);
      return atoi(&static_cast<char>(s[pos]));
      return atoi(&char(s[pos]));
}
Run Code Online (Sandbox Code Playgroud)

:我不是在寻找一个转化的最佳途径charint.

c++

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

在Linux中测量库的大小

我正在为使用Linux OS的设备开发S/W所以,我使用的库(RAM/ROM)的大小非常重要.

如何轻松计算软件所需的RAM/ROM?(包括我使用过的图书馆).我认为这对于经验丰富的Linux开发人员来说太容易了.

linux embedded ram rom

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

如何在unix上找到没有日志文件的死进程的原因?

这是一个面试问题.

开发人员开始了一个过程.但是当客户想要使用该流程时,他发现流程没有运行.开发人员登录后发现该进程已经死亡.开发人员怎么知道出了什么问题?

跟进:一个正在运行的进程,它应该将日志写入文件.但是文件中没有日志.开发人员如何弄清楚流程中发生了什么?

我想:如果程序可以重新运行,我将使用gdb来跟踪进程.如果没有,请检查进程(应用程序)中的输出文件.或者,在代码中添加print.

但是,还有其他方法可以通过引用操作系统生成的一些信息来实现吗?

unix linux logging operating-system process

6
推荐指数
2
解决办法
7357
查看次数