我想确定#target的偏移相对于#a下面的HTML文档中-即,我想找到的价值观x和y:
http://dl.dropbox.com/u/2792776/screenshots/2012-06-09_1814.png
jQuery 有position(),但$("#target").position()返回#target相对于其父偏移量的偏移量,即#c(不是#a)
我需要一个等价于的函数,$.fn.position()而是返回相对于目标的“偏移祖先”的位置,而不是它的直接偏移父级。例如:$("#target").positionRelativeTo("#a")
$user->get_email_address()怎么办?public function get_email_address() {
if (!$this->email_address) {
$this->read_from_database('email_address');
}
return $this->email_address;
}
Run Code Online (Sandbox Code Playgroud)
public function __construct(..., $id = 0) {
if ($id) {
$this->load_all_data_from_db($id);
}
}
public function get_email_address() {
return $this->email_address;
}
Run Code Online (Sandbox Code Playgroud)
我的基本问题是,最好是最小化数据库查询的数量,或者最好是最小化从数据库传输的数据量.
另一种可能性是,最好加载您最需要的属性/在创建对象时包含最少的数据以及其他所有需要的属性.
一个后续问题:像Activerecord这样的ORM抽象框架有什么作用?
例如,为什么日期帮助器的写法如下:
time_ago_in_words(@from_time)
Run Code Online (Sandbox Code Playgroud)
而不是像这样:
@from_time.time_ago_in_words
Run Code Online (Sandbox Code Playgroud)
这是一个明确的设计错误/不一致吗?或者有什么理由吗?
在我的应用程序中,我需要显示一个歌曲列表.现在我这样做:
Song.all.sort {|x,y| x.artist.name <=> y.artist.name }
Run Code Online (Sandbox Code Playgroud)
不幸的是,这意味着"臭名昭着的大"将与T一起排序,而我希望他与N一起排序(即,我想忽略文章 - "the","a"和"an" - 对于排序的目的.
我的第一个想法是这样做:
Song.all.sort {|x,y| x.artist.name.gsub(/^(the|a|an) /i, '') <=> y.artist.name.gsub(/^(the|a|an) /i, '') }
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.思考?
我网站上的用户为说唱歌词创建注释(示例).我想创建一个排行榜,以奖励创建最多注释的人.
排行榜应该跟踪每个用户整体创建的注释数量,以及他在过去一周,一天中创建的数量等.
我实现整个排行榜没有问题:
@users = User.all
<table>
<tr>
<th>Contributor</th>
<th>Annotations</th>
</tr>
<% @users.sort_by{|u| u.annotations.size }.reverse.each do |u| %>
<tr>
<td><%= u %></td>
<td><%= u.annotations.size %></td>
</tr>
<% end %>
</table>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试实现(比如说)每日记分牌时,我正在重复代码并且操作非常缓慢(因为它必须遍历内存中的每个注释而不是依赖于数据库排序/计数):
<table>
<tr>
<th>Contributor</th>
<th>Annotations</th>
</tr>
<% @users.sort_by{|u| u.annotations.select{|a| a.created_at > 1.day.ago }.size }.reverse.each do |u| %>
<tr>
<td><%= u %></td>
<td><%= u.annotations.select{|a| a.created_at > 1.day.ago }.size %></td>
</tr>
<% end %>
</table>
Run Code Online (Sandbox Code Playgroud)
实施每日/每周记分牌的最佳方法是什么?
我想创建迷你图,说明过去两周内在我的博客上创建的帖子数量.为此,我需要首先生成一个数组,其中包含在相关时段内每天创建的帖子数.
例如,这个数组:
[40, 18, 0, 2, 39, 37, 22, 25, 30, 60, 36, 5, 2, 2]
Run Code Online (Sandbox Code Playgroud)
生成这个迷你图:(我在谷歌图表 API 周围使用Googlecharts包装)
我的问题是如何创建这些数组.这就是我现在正在做的事情:(我正在使用Searchlogic来进行查询,但即使你从未使用它也应该是可以理解的)
history = []
14.downto(1) do |days_ago|
history.push(Post.created_at_after((days_ago + 1).day.ago.beginning_of_day).created_at_before((days_ago - 1).days.ago.beginning_of_day).size)
end
Run Code Online (Sandbox Code Playgroud)
这种方法既丑陋又缓慢 - 必须有更好的方法!
charts reporting ruby-on-rails google-visualization sparklines
假设Stackoverflow想要轻松"复制链接到这个问题"链接.当你点击这个链接上有什么是你最好的程序员笑话?,它会将此HTML添加到剪贴板:
<a href="https://stackoverflow.com/questions/234075">What is your best programmer joke?</a>
Run Code Online (Sandbox Code Playgroud)
所以当你粘贴到Gmail或其他任何东西时,它看起来像这样:你最好的程序员笑话是什么?
以跨浏览器的方式实现这一目标的最佳方法是什么?
是否有可能使<div>标签表现得像<br>CSS 的股票标签?
有没有其他标签无法通过造型来模仿<div>?
考虑字符串: ` ( ?
Javascript的escape()编码如下:
escape("` ( ?")
"%60%20%28%20%3F"
Run Code Online (Sandbox Code Playgroud)
如何在Ruby中实现相同的效果?我没有尝试过:
[Dev]> CGI.escape("` ( ?")
=> "%60+%28+%3F"
[Dev]> URI.encode("` ( ?")
=> "%60%20(%20?"
[Dev]> Addressable::URI.encode("` ( ?")
=> "%60%20(%20?"
Run Code Online (Sandbox Code Playgroud) 如何使用Ruby发布到Google+信息页?
通过"页面"我的意思是这个品牌的页面之一(例如,https://plus.google.com/105033245922189902491/posts)