【发布时间】:2015-03-31 21:58:41
【问题描述】:
我为 artist、title、duration、release 等的歌曲模型制作了部分 a。
我想在一个页面上显示所有艺术家的歌曲,有时他们有很多。查询需要 0.08 秒,但我也看到了这个:
Rendered artist/_song_listing.html.haml (18.2ms)
Rendered artist/_song_listing.html.haml (8.5ms)
Rendered artist/_song_listing.html.haml (7.5ms)
Rendered artist/_song_listing.html.haml (9.6ms)
Rendered artist/_song_listing.html.haml (18.6ms)
Rendered artist/_song_listing.html.haml (12.6ms)
Rendered artist/_song_listing.html.haml (7.8ms)
Rendered artist/_song_listing.html.haml (19.5ms)
(等等)
最终这需要 14 秒,这太长了。
这样使用partials有错吗?有什么办法可以加快速度吗?
编辑:
艺术家控制器:
def show
@artist = Artist.find(params[:id])
@songs = @artist.songs.order('published_at DESC').includes(:members)
show.html.haml:
.panel.panel-default
- @artist.songs.each do |song|
=render 'song_listing', song: song
摘自_song_listing(~500 次):
.row
.col-xs-12
.summary
-if song.summary.present?
="#{song.summary.sanitize.strip.gsub("\u00A0"," ")}"
-else
%i
No Summary
.row
.col-xs-10
%ul.list-inline
- song.members.each do |member|
%li
%span
%img{src:"#{member.image_url}", width: '20px', height: '20px', class: 'img-circle'}
【问题讨论】:
标签: html ruby-on-rails ruby haml