小编Mik*_*ike的帖子

CSS3相当于jQuery slideUp和slideDown?

我的应用程序使用jQuery的slideDown和slideUp表现不佳.我希望在支持它的浏览器中使用CSS3等价物.

是否有可能,使用CSS3过渡,一个元素从改变display: none;display: block;,而滑动的项目向上或向下?

jquery animation css3

79
推荐指数
6
解决办法
9万
查看次数

从ActiveRecord模型继承时防止STI

在Rails 3.2.6上,我有一个继承自ActiveRecord :: Base的类:

class Section < ActiveRecord::Base
  ...
end
Run Code Online (Sandbox Code Playgroud)

当我从这个类继承时,Rails会假设我想要STI:

class AnotherSection < Section
   ..Rails assumes I have a type field, etc...
end
Run Code Online (Sandbox Code Playgroud)

我希望能够从Section类继承并使用子类作为普通的Ruby子类,而不需要Rails STI魔法.

有没有办法在从ActiveRecord::Base模型中进行子类化时阻止STI ?

ruby ruby-on-rails sti

29
推荐指数
2
解决办法
7390
查看次数

Rails SQL COUNT N + 1效率低下

我有一个博客.在我的索引页面上,我提取所有博客帖子.对于每篇博文,我都会计算该帖子的评论数量.这导致N + 1问题.我的查询如下:

SELECT "blog_posts".* FROM "blog_posts" WHERE ("blog_posts"."published" = 't') ORDER BY published_at DESC
SELECT "users".* FROM "users" WHERE ("users"."id" IN (1, 2, 3)) 
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 10)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 9)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 8)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 2)
SELECT COUNT(*) FROM "blog_comments" WHERE ("blog_comments".blog_post_id = 7) 
Run Code Online (Sandbox Code Playgroud)

Rails中是否有一种方法可以像我包含用户一样包含COUNT(SQL第2行)?

ruby sql ruby-on-rails

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

共享Rails和JavaScript视图

我有点困惑为什么这不是一个更普遍解决的问题但是这里.

我有我的Rails应用程序,可以正常生成我的视图.我在界面上有一些动态内容.

我想进行AJAX调用,返回JSON,并填充应用程序的动态部分.我会使用JS模板库来做到这一点.

我不想进行AJAX调用,让Rails处理视图并发回所有HTML.我希望响应是JSON,因此减少了处理和线路时间.

问题是我动态生成的HTML与我在Rails页面加载时静态生成的HTML(想想AJAX分页).HTML自然在我的ERB文件中.但是当我生成更多内容(比如第2页)时,我显然无法访问ERB文件,需要在JavaScript模板文件中复制HTML.

有没有解决方案允许我在Rails和JS之间分享我的观点?(我知道尝试将ERB与JS渲染...循环,条件等混合起来有点尴尬)

人们通常会选择渲染HTML并通过网络发送吗?或者,他们是否在页面加载时笨拙地执行JavaScript以使用JS模板进行渲染?

javascript templates ruby-on-rails

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

Redis的排序集会扩展吗?

这可能更多是理论上的问题,但我正在寻找务实的答案。

我计划使用Redis的排序集将模型的排名基于计算出的值存储在数据库中。目前,我的数据集很小(该集中的250个成员)。我想知道排序后的集合是否可以扩展到5,000个成员或更大。Redis声称最大值为1GB,而我的值是我模型的ID,因此我并不真正担心排序集的值的可伸缩性。

ZRANGE的时间复杂度为O(log(N)+ M)。如果我最经常尝试从集合中获得排名前5位的项目,则可能要关注N个集合项目的log(N)。

我还计划使用ZINTERSTORE,它的时间复杂度为O(N * K)+ O(M * log(M))。我计划经常使用ZINTERSTORE,并使用ZRANGE 0 -1检索结果

我想我的问题有两个方面。

  1. Redis排序集是否可以扩展到5,000个成员而没有问题?10,000?50,000?
  2. 将ZRANGE和ZINTERSTORE(与ZRANGE结合使用)在应用于大型设备时是否会开始显示性能问题?

big-o scalability redis

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

标签 统计

ruby-on-rails ×3

ruby ×2

animation ×1

big-o ×1

css3 ×1

javascript ×1

jquery ×1

redis ×1

scalability ×1

sql ×1

sti ×1

templates ×1