我们正在尝试优化我们的视图,并在使用以下代码加载40张图片的页面上:
= image_tag(product.pictures.first.data.url(:gallery))
Run Code Online (Sandbox Code Playgroud)
如果我们将其更改为以下代码,则加载时间为840毫秒:
= image_tag("http://bucketname.s3.amazonaws.com/products/#{product.pictures.first.id}/gallery.jpg?1325844462"
Run Code Online (Sandbox Code Playgroud)
我们成为220ms的加载时间.
这意味着s3_path_url的插值非常慢.有人还在期待同样的问题吗?目前我创建了一个生成我的网址的助手:
def picture_url(picture, style)
"http://bucketname.s3.amazonaws.com/products/#{picture.id}/#{style}.jpg"
end
Run Code Online (Sandbox Code Playgroud)
我这里唯一的问题是缓存键不存在而且扩展名不存在.
我想传递一个包含原点的局部变量来到特定页面,这个变量只包含一个带有值的符号.
当我使用这个代码时它工作得很完美,原始变量可以在partial中访问:
render :partial => "products", :collection => @products, :locals => {:origin => :gallery}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用此代码时,原点未设置且无法在部分中访问:
render @products, :locals => {:origin => :gallery}
Run Code Online (Sandbox Code Playgroud)
这有什么区别?第二行代码是不是像第一行一样呈现部分?
昨天我更新到Mountain Lion,我想开始我的rails应用程序,并与Rmagick gem有一些问题.在网上阅读后,我做了以下事情:
在此安装过程中,我收到一个错误:
coders/svg.c:93:10:致命错误:找不到'librsvg/rsvg.h'文件
完整日志
==> Downloading http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6.7.7- 6.tar.bz2
Already downloaded: /Library/Caches/Homebrew/imagemagick-6.7.7-6.tar.bz2
==> Patching
patching file configure
Hunk #1 succeeded at 32371 (offset 447 lines).
==> ./configure --disable-osx-universal-binary --without-perl --prefix=/usr/local/Cellar/imagemagick/6.7.7-6 --enable-shared --disable-st
==> make install
/bin/sh ./config/mkinstalldirs . ltdl/
cp ./ltdl/argz_.h ltdl/argz.h-t
mv ltdl/argz.h-t ltdl/argz.h
make install-am
CC ltdl/argz.lo
CC coders/coders_tga_la-tga.lo
CC coders/coders_thumbnail_la-thumbnail.lo
CC coders/coders_tile_la-tile.lo
CC coders/coders_tim_la-tim.lo
CC coders/coders_ttf_la-ttf.lo
CC coders/coders_txt_la-txt.lo
CC coders/coders_uil_la-uil.lo
CC coders/coders_url_la-url.lo
CC coders/coders_uyvy_la-uyvy.lo
CC coders/coders_vicar_la-vicar.lo
CC coders/coders_vid_la-vid.lo
CC coders/coders_viff_la-viff.lo …Run Code Online (Sandbox Code Playgroud)