小编Vla*_*ich的帖子

正确的时间使用coffeescript

所以基本上我有很多担心让我退回coffeescript:

  1. 我还不是js的专家,即使我已经使用它大约3年了,我仍然觉得我错过了一些重要的东西.由于它对我来说主要是一种支持性的技术,我从来没有时间深入了解js(我承认,这可能是一种错误的态度).

  2. 如果我开始使用coffeescript,我的知识将变得更糟

  3. 我不确定我是否真的可以信任coffescript,这意味着它编译的js代码

  4. 有时我不明白js代码coffeescript编译甚至更糟 - 为什么它编译这样.

我想知道你对以上几点的看法.关键的一点是:如何使用coffeescript影响你对js的了解?在切换到coffeescript之前,你认为完全理解js有多重要?

javascript ruby-on-rails coffeescript

18
推荐指数
2
解决办法
3321
查看次数

自定义rails has_many关联(通过pg数组)

所以基本上我想知道是否有一些常用的方法来定义自己的关联类型.一些细节:

我有一个conversations具有PG阵列列的模型user_ids.因此,要检索我需要运行的用户对话: select conversations.* from conversations where USER_ID = ANY(conversations.user_ids)

既然finder_sql现在已经弃用了它的朋友,我真的想知道实现这个伪has_many关联的最佳方法是什么?

目前我只是使用如下方法:

 def conversations
   Conversation.where("#{id} = ANY (conversations.users)")
 end
Run Code Online (Sandbox Code Playgroud)

所以基本上我正在考虑实现自己的,ActiveRecord::Associations::CollectionAssociation并想知道是否有一些很好的参考,或者你是否可以建议从哪里开始


ruby ruby-on-rails ruby-on-rails-3

14
推荐指数
1
解决办法
2039
查看次数

Ruby mixin覆盖方法澄清

我刚刚面对这种我不太懂的行为.

module M
  def foo
    "module_foo"
  end
end

class C
  def foo
    "class_foo"
  end
  include M
end

puts C.new.foo
Run Code Online (Sandbox Code Playgroud)

为什么C.new.foo实际回归class_foo?我非常确定该方法应该被模块中的方法覆盖.另一件事,取而代之"class_foo"superC.new.foo返回`"module_foo"

实际上看起来模块在定义类实例方法之前以某种方式包含在内.你能澄清一下吗?

ruby module mixins

12
推荐指数
2
解决办法
5860
查看次数

红宝石救援不断失踪?

几个月前我一直在使用一些红宝石库(我不记得哪一个,不幸的是)

我很惊讶地看到它允许我用这样的东西初始化它的实例:

Lib::SOMETHING(args)
Run Code Online (Sandbox Code Playgroud)

我真的不明白它是如何工作的.我非常确定它应该是动态的东西(没有SOMETHING常量),比如constant_missing模块方法,或者可能ConstantMissing以某种方式处理异常.

你能建议吗?

ruby metaprogramming

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

postgresql,奇怪的OFFSET/LIMIT行为(记录顺序)

所以基本上我有这个范围(sql):

scope.to_sql
=> "SELECT  \"offers\".* FROM \"offers\" INNER JOIN \"cities_offers\" ON \"offers\".\"id\" = \"cities_offers\".\"offer_id\" WHERE \"cities_offers\".\"city_id\" = 2 AND \"offers\".\"category_id\" IN (2) AND (offers.category_id is NOT NULL) ORDER BY offers.discount desc LIMIT 25 OFFSET 0"
Run Code Online (Sandbox Code Playgroud)

不知何故,上述查询的记录顺序不同,而且没有LIMIT和OFFSET的记录顺序不同:

   scope[6]
=> #<Offer id: 8629 ...

scope.except(:offset, :limit)[6]
=> #<Offer id: 8729 ...
Run Code Online (Sandbox Code Playgroud)

8629和8729记录具有相同的discount值(我按顺序排列的属性).

如果可以在这些情况下保持相同的记录订购,请您提供建议吗?

sql postgresql activerecord ruby-on-rails sql-order-by

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

按重复属性分组

基本上我有一个表messages,其中user_id包含标识创建消息的用户的字段.

当我在两个用户之间显示一个对话(一组消息)时,我希望能够user_id按照一种棘手的方式对消息进行分组:

假设有一些消息(排序依据created_at desc):

  id: 1, user_id: 1
  id: 2, user_id: 1
  id: 3, user_id: 2
  id: 4, user_id: 2
  id: 5, user_id: 1
Run Code Online (Sandbox Code Playgroud)

我希望按以下顺序获得3个消息组: [1,2], [3,4], [5]

它应该按*user_id*分组,直到它看到另一个,然后按那个分组.

我正在使用PostgreSQL,并乐意使用特定的东西,无论什么能带来最佳性能.

sql postgresql ruby-on-rails plpgsql window-functions

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

postgresql 在时间范围内搜索

所以这就是我想做的:

我有许多事件,每个事件代表一个日期时间范围(如 07.03.2014 06:00 - 07.03.2014 08:00)事件关联(一对多)到hall_schedule.

然后我想搜索所有hall_schedule's没有涵盖某个特定时间范围的事件的事件,例如:

“我想要所有大厅活动不涵盖 07.03.2014 06:00 - 07.03.2014 08:00 范围的 Hall_schedules”

那么问题来了,为了获得最好的性能,我该如何设计呢?存储事件并稍后进行所描述的搜索的最佳方式是什么?

我很高兴使用 postgresql (9.3) 特有的东西,无论什么都能提供最佳性能

sql postgresql postgresql-9.3

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