我偶然发现了一篇关于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) 我有一个来自UDP数据包的uint8 (无符号8位整数).Java仅使用带符号的原语.如何使用java正确解析此数据结构?
我目前正在编写一个基于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地址(即通过环境字典或类似),而不必采取某种方式重定向日志对象?
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
如果您有两个主要相同的文件,其中包含1000条记录,您将如何编写代码来查找它们之间的差异.假设不允许使用unix/linux命令.
我的想法:
因为大多数条目都是相同的,所以我们可以对这两个文件的条目进行排序,然后逐个比较每个条目,例如file1中的条目i与file2中的条目i相比较.它是O(n lg n),n是文件的大小.
有O(n)解决方案吗?
我想知道正确的地方可以保存应用程序的运行状态,因为iCloud和iOS5已经改变了各种选项的工作方式.
NSUserDefaults的?我总觉得这是设置的印象.国家也可以吗?
该应用程序的NSDocumentDirectory?是不是与iCloud同步?我没有特别希望上传应用程序的状态.这是不必要的.
缓存?现在已经被清除了.这不是一个保存东西的安全点.
那么这些天拯救国家的官方推荐地点是什么?
我正在使用Scala与Java的反射API进行一些工作.但我似乎无法弄清楚如何在Scala中访问Java中的内容:int.class,float.class,boolean.class.
基本上是表示原始数据类型的类对象.
那么什么是int.class的Scala版本?
有人可以解释为什么这些电话没有返回相同的预期结果?
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)
注:我不是在寻找一个转化的最佳途径char到int.
我正在为使用Linux OS的设备开发S/W所以,我使用的库(RAM/ROM)的大小非常重要.
如何轻松计算软件所需的RAM/ROM?(包括我使用过的图书馆).我认为这对于经验丰富的Linux开发人员来说太容易了.
这是一个面试问题.
开发人员开始了一个过程.但是当客户想要使用该流程时,他发现流程没有运行.开发人员登录后发现该进程已经死亡.开发人员怎么知道出了什么问题?
跟进:一个正在运行的进程,它应该将日志写入文件.但是文件中没有日志.开发人员如何弄清楚流程中发生了什么?
我想:如果程序可以重新运行,我将使用gdb来跟踪进程.如果没有,请检查进程(应用程序)中的输出文件.或者,在代码中添加print.
但是,还有其他方法可以通过引用操作系统生成的一些信息来实现吗?