小编Jir*_*ico的帖子

Rails简单表单自定义关联选择字段

我有一个select字段,我想在其中放一个名为name的自定义属性,我试着这样做:

 <%= f.association  :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>    
Run Code Online (Sandbox Code Playgroud)

它工作并生成额外的属性,但是存在问题,选择值属性变为模型名称属性,在本例中为l.name.我更改了地方并首先放置了l.id但是显示了id属性,它们是重复的,任何想法为什么会发生这种情况?

是否有另一种方法可以在关联选择字段中定义自定义属性?

forms model ruby-on-rails simple-form

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

ActiveRecord delete_all方法更新而不是删除

我正在使用Rails多态关联,这样一些模型有很多cash_histories孩子,像这样:

has_many :cash_histories, as: :cashable
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从父母那里删除所有现金历史时@resource,如下所示:

@resource.cash_histories.delete_all
Run Code Online (Sandbox Code Playgroud)

我得到以下查询:

UPDATE "cash_histories" SET "cashable_id" = NULL WHERE "cash_histories"."cashable_id" = $1 AND "cash_histories"."cashable_type" = $2  [["cashable_id", 1], ["cashable_type", "ServiceOrder"]]
Run Code Online (Sandbox Code Playgroud)

我无法理解这种行为,将关系id设置为null而不是删除,这将导致我的表中出现死行.为什么会这样?

我正在使用Rails 4.1.

activerecord ruby-on-rails rails-activerecord ruby-on-rails-4.1

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

如果我异步加载图像,Firefox选项卡加载微调器将永远运行

所以我在我的数据库中获取图像url,通过AJAX获取数据并加载如下图像:(更新以显示所有步骤)

//GET urls from server
$.get("/homeBanners", null, function(data){
        $.each(data, function(i, banner){
          console.log(i); 
          generateSlide(banner, i);
        });

});

//Generate a slide for loaded URL
function generateSlide(banner, index){
   var li = $('<li>').attr('data-target', '#slideCarousel').attr('data-slide-to', index);
   var div = $('<div>').attr('class', 'item');
   if(index == 0){
     li.addClass('active');
     div.addClass('active')
   }
   li.appendTo('.carousel-indicators');
   div.appendTo('.carousel-inner');

   var img = $('<img />').attr('src', banner.image_url).on('load', function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
            alert('broken image!');
        } else {
            //div.append(img);
            img.appendTo(div);
            //$('#slideCarousel').before('<div id="nav"></div>').carousel().removeClass('hidden');
            $('#slideCarousel').carousel().removeClass('hidden');
        }
    });

 }
Run Code Online (Sandbox Code Playgroud)

代码运行正常,图像看起来很好.但是在firefox中,tab加载微调器永远不会停止.在Chrome中,问题不会发生.

如果我评论追加线:

//img.appendTo(div); …

javascript firefox jquery carousel twitter-bootstrap

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

影响Iframe的$(窗口).blur事件

我想检测用户何时离开我的页面(例如打开一个新标签),这样我就可以停止倒计时了.我用它做了:

$(window).blur(function() {
 //stop countdown
});
Run Code Online (Sandbox Code Playgroud)

但是我的页面中有一个Iframe,当用户点击它时,倒计时也会停止,但我不希望当有人点击Iframe时执行上述事件.

任何的想法?

更新,我正在尝试更多,基于iframe上的这个答案点击事件?:

iframeDoc = $('iframe').contents().get(0);
$(iframeDoc).click(function(){
   //maybe remove blur event?
});
Run Code Online (Sandbox Code Playgroud)

更新:Tim B解决方案有效:

$(window).blur(function () {
// check focus
if ($('iframe').is(':focus')) {
    // dont stop countdown
}
else {
    // stop countdown
}                
});
Run Code Online (Sandbox Code Playgroud)

现在,我必须在每次调用模糊事件时从Iframe中移除焦点,否则如果用户在关注Iframe后更改制表符,倒计时将不会停止.我尝试使用上述条件:

if ($('iframe').is(':focus')) {
    // dont stop countdown
    $("iframe").blur()
    $(window).focus();
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.任何的想法?

javascript iframe jquery dom

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

Python 3.2 美丽汤替代方案

我需要制作一个网络爬虫来从网页中提取信息。我做了一项研究,发现Beautiful Soup非常出色,因为我可以解析所有文档并创建 dom 对象并迭代、提取属性等(类似于 JQuery)。

但我使用的是Python 3.2,并且没有稳定的版本(我认为根本没有,我在他们的主页上看到的只有3.1)。

所以我需要一些好的替代品。

html python web-crawler

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

是否值得索引day_of_week专栏?

我有一个具有day_of_week列的用户表,它是一个整数(0 ... 6).每天我都要运行一个脚本并迭代当天的用户.

那么,我是否应该使用索引标记此列以获得更快的性能?查询将始终返回总数的1/7,我担心如果我添加索引可能会产生相反的效果.想象一下,用户表中有10k-100k行.

顺便说一句,如果重要的话我会使用PostgreSQL.

database postgresql indexing performance

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

Python简单正则表达式

所以我有一个模式:

hourPattern = re.compile('\d{2}:\d{2}')
Run Code Online (Sandbox Code Playgroud)

并与编译模式匹配

hourStart = hourPattern.match('Sat Jan 28 01:15:00 GMT 2012') 
Run Code Online (Sandbox Code Playgroud)

当我打印hourStart它给我没有.有帮助吗?

python regex

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