更新了问题
我想强调几周时间小于或等于40的小时数。要做到这一点,我必须查看过去3周的记录表以及当前用户。我在下面写了一些代码,我知道这是不对的,但希望你能得到这个问题。我被告知不要把这个放在js中,但我不知道id是怎么做到这一点考虑到我必须回到js以设置日期选择器上的高亮颜色?
for(i=0;i<3;i++){
date.setDate(date.getDate() - 7);
record = Record.sum(:hours,:where => :week => date && :user_id => current_user.id )
}
答案 0 :(得分:0)
嗯,这不是一个优雅的解决方案,但我会这样做(这里不需要额外的ajax调用):
控制器/操作中的:
...
@record = Record.sum(:hours,:where => :week => date && :user_id => current_user.id ).to_json
...
然后在视图中创建一个隐藏的div:
<div class='hidden' id='records'>
<%= @record %>
</div>
并在你的js:
record = $.parseJSON( $('#records').text() );
...
你将把你的ruby对象/对象翻译成js