小编Del*_*ero的帖子

将图像延迟加载绑定到ajax请求后插入的新图像

我正在使用Mika Tuupola的Lazy Load插件http://www.appelsiini.net/projects/lazyload来在您向下滚动长图库时延迟加载图像.问题是在10张图片后,我使用无限滚动,所以我获取接下来的10张图片,并通过ajax附加它们.延迟加载不再适用于下一批附加图像.

这是一个相当javascript的图像库,所以对于其他一切(如工具提示,模态叠加等),我一直在使用jQuery的委托()绑定到插入ajax的元素.Lazy Load插件的问题是我不确定要绑定到哪个事件.

所以说我想懒得加载一类"懒"的图像.我会写这个:

$("img.lazy").lazyload({ 
    effect: "fadeIn" 
});
Run Code Online (Sandbox Code Playgroud)

它适用于前10个图像,但在通过ajax插入更多图像后停止工作.我唯一能想到的是在load事件上使用委托,如下所示:

$(document).delegate("img.lazy", "load", function(event) {  
    $(this).lazyload({ 
         effect: "fadeIn" 
    });     
});
Run Code Online (Sandbox Code Playgroud)

但这打破了一切.谢谢!

编辑: 我用来加载更多记录的jQuery(这是一个Rails应用程序):

$(window).scroll(function() {
    var url;
    url = $(".pagination .next_page").attr("href");
    if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
    $(".pagination").html("<p>loading more images...</p>");
    return $.getScript(url);
    }
});

$(window).scroll();
Run Code Online (Sandbox Code Playgroud)

ajax jquery lazy-loading image infinite-scroll

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

Rails 3.2资产管道与Thin和Apache,没有找到资产

我的问题类似于这个带有乘客无尽错误的Rails 3.2资产管道,除了当我尝试实际去的时候

<link href="/assets/application-eed7996ee9017637f923133371ab3e92.css" media="all" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

我得到了404.这是我不明白的事情.它正在查看/ assets /,但是当我查看部署的代码时,资产只在/ public/assets中,这实际上是/ var/www/myapp/shared/assets的符号链接.那么世界上有什么责任告诉应用程序,查看/资产会产生正确的结果?

我正在使用Rails 3.2.0,ruby-1.9.3-p125,部署到Ubuntu,Apache和Thin.

我应该澄清一下:我的资产确实已部署到服务器上.一切都很好,直到他们需要服务,在这种情况下,production.log告诉我它正在/assets/application-eed7996ee9017637f923133371ab3e92.css中寻找它们,这是404的.

对于每个请求,我的thin.log

cache: [GET /] miss
Run Code Online (Sandbox Code Playgroud)

production.log

ActionController::RoutingError (No route matches [GET] "/assets/application-abecf2e096af9ee80697fd49e79a55e7.js"):
Run Code Online (Sandbox Code Playgroud)

更新 @Brandan感谢您的帮助.我的资产确实在RAILS_ROOT/public/assets.我把它放在我的Apache vhost文件中:

DocumentRoot /var/rails/myappname/current/public

RewriteEngine On
XSendFile On
XSendFilePath /var/rails/myappname #not even sure if this line is needed

<LocationMatch "^/assets/.*$">
    Header unset ETag
    FileETag None
    ExpiresActive On
    ExpiresDefault "access plus 1 year"
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

我的RAILS_ROOT/config/environments/production.rb设置:

config.cache_classes = true
config.consider_all_requests_local = false …
Run Code Online (Sandbox Code Playgroud)

apache ruby-on-rails thin ruby-on-rails-3 asset-pipeline

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

在使用capistrano"零停机"部署后,Unicorn工作人员超时

我正在运行Rails 3.2.21应用程序并使用capistrano(nginx和unicorn)部署到Ubuntu 12.04.5框.

我的应用程序设置为零停机部署(至少我认为),我的配置文件看起来或多或少像这些.

问题在于:当部署几乎完成并重新启动独角兽时,当我看到我的unicorn.log时,我看到它启动了新工作人员,收获了旧工作人员......但是我的应用程序只挂了2-3分钟.此时对应用程序的任何请求都会达到超时窗口(我设置为40秒)并返回应用程序的500错误页面.

这是unicorn.log输出的第一部分,因为独角兽正在重启(我有5个独角兽工人):

I, [2015-04-21T23:06:57.022492 #14347]  INFO -- : master process ready
I, [2015-04-21T23:06:57.844273 #15378]  INFO -- : worker=0 ready
I, [2015-04-21T23:06:57.944080 #15381]  INFO -- : worker=1 ready
I, [2015-04-21T23:06:58.089655 #15390]  INFO -- : worker=2 ready
I, [2015-04-21T23:06:58.230554 #14541]  INFO -- : reaped #<Process::Status: pid 15551 exit 0> worker=4
I, [2015-04-21T23:06:58.231455 #14541]  INFO -- : reaped #<Process::Status: pid 3644 exit 0> worker=0
I, [2015-04-21T23:06:58.249110 #15393]  INFO -- : worker=3 ready …
Run Code Online (Sandbox Code Playgroud)

deployment capistrano ruby-on-rails unicorn ruby-on-rails-3

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

如何通过Pinterest API进行回复?

根据PinsPinterest API文档,您可以创建,编辑,获取和删除引脚.Repinning怎么样?在官方文档中似乎没有提及它,但是许多合法的Pinterest营销工具允许你从他们的界面进行回复,我认为这意味着他们正在使用API​​.

也许我的假设是错的?我是否遗漏了一些关于如何通过API复制现有引脚的明显信息?

作为"合法的Pinterest营销工具"的一个例子,请使用Viralwoot,它可以让你安排一个回复:

pinterest

5
推荐指数
0
解决办法
581
查看次数

是否有Rails生成命令的参考/备忘单?

我很好奇Rails 生成命令是否有某种引用或备忘单?列出所有可能的生成器(模型,控制器,迁移等)以及可以为每个生成器传递的选项(--skip-migration等).

ruby command-line ruby-on-rails

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