find(:all, order: "created_at DESC")
要~
#14 楼 @vincenttone 第二个是不等吧
static VALUE
rb_mod_attr_accessor(int argc, VALUE *argv, VALUE klass)
{
int i;
for (i=0; i<argc; i++) {
rb_attr(klass, rb_to_id(argv[i]), TRUE, TRUE, TRUE);
}
return Qnil;
}
http://apidock.com/ruby/Module/attr_accessor 点 Show source
#6 楼 @lionzixuanyuan 这些知识我就不知道啊。留下分享以后有需要的人就可以搜到了。
我推荐一套书 Abook Apart 系列 http://www.abookapart.com/
像 Responsive Web Design,Mobile First,都是引起潮流的书。
不要交流盗版。
不分享一下方案?
我现在还在做 Blog 呢。
#9 楼 @tianshuai 我没试过,你可以试试。还要把
field :updated_at, type: Time
这句改成 Integer。
如果是覆盖的话,还要注意 gem 升级的时候是否兼容。这个模块很小,也可以写个自己的模块,像这些
https://github.com/ruby-china/ruby-china/tree/master/app/models/mongoid
class Foo
def self.bar
puts 'bar'
end
def self.actions(&block)
self.instance_eval(&block)
end
end
Foo.actions do
bar
end
原理大概是这样,用 instance_eval 把这个 block 放到另一个环境里面执行,到底他们从什么地方冒出来,得看实现的代码是怎么样。
就是 Time.now.utc 而已 https://github.com/mongoid/mongoid/blob/master/lib/mongoid/timestamps/updated.rb
def set_updated_at self.updated_at = Time.now.utc unless updated_at_changed? end
实际储存会转换成 mongodb 本身的时间类型
用 ActiveRecord 处理。
楼主的分析都是猜测,你需要查看 log 具体出了什么错误。
我期待什么时候出收费服务,自己维护时间成本太高了。
validates :name, :uniqueness => { :scope => :team_id }
已经存在的话会创建失败。5 楼说的“否则 save”不对。
@team.members.create(name: "zhang")
这也是没办法的事,假如要一直兼容 XMPP,那么发表情都变成字符,发图片都变成链接,发起视频会引导去 Hangouts 的安装页面。这些功能都是扩展而不是核心协议,别的客户端解析不了。
如果使用过程不清楚对方到底能不能收到,那还是不兼容算了。Google 负责出各个平台的客户端,也提供了一些 API 玩。
我刚打开 G+ 的自动上传,觉得以后就用这个了。
要对嵌入文档数组做分页,需要在查询文档的时候就加上 slice http://docs.mongodb.org/manual/reference/projection/slice/
http://mongoid.org/en/origin/docs/options.html 页内搜索 slice。
queryable.slice(aliases: [ 0, 5 ])
#6 楼 @kennyworld 不只新手,现在我也对源码不太了解了,开发过程先后加入了很多开发者引入了各种各样的插件。如果有一些 Rails 实战经验,可以根据功能追溯源码的位置。
Ruby China 只是为了这个社区而开发的,功能和兼容性没有考虑普遍情况,所以最好自己看得懂这套程序才好维护。Codecampo 也是这样(很久没动了)。
我说说 CSDN BBS 的方案,把 topic_id, forum_id, status 这些列表用到的字段单独放到一张内存表加索引,查几千页没问题。
我过去找 gem 都去 http://ruby-toolbox.com/
最近没怎么用新 gem,google 通常很快找到第一选择,就不怎么去了。