[Rails] Question about includes

131 views
Skip to first unread message

William Herry

unread,
Feb 1, 2013, 4:06:40 AM2/1/13
to rubyonra...@googlegroups.com

I have three class,HotActivity, Activity和ActivityType

HotActivity and Activity is one to one association, Activity belongs to ActivityType

in controller I code like this

@hot_activities = HotActivity.includes(:activity)

chrome will prompt me this

user: william
N+1 Query detected
  Activity => [:activity_type]
  Add to your finder: :include => [:activity_type]
N+1 Query method call stack

if I add like this

@hot_activities = HotActivity.includes(:activity => :activity_type)

it prompt this

user: william
Unused Eager Loading detected
  HotActivity => [:activity]
  Remove from your finder: :include => [:activity] activities:575
Uniform Notifier activities:587
user: william
Unused Eager Loading detected
  Activity => [:activity_type]
  Remove from your finder: :include => [:activity_type] 
some one please help, 
thanks in advs

and...@benjamin.dk

unread,
Feb 2, 2013, 6:04:48 PM2/2/13
to rubyonra...@googlegroups.com
HI william,

how exactly does chrome prompt that?

whats the view like?

is that the only line you have on your controller?

can you be a little more specific and post exactly what is the error you get.

all the best,

Andre

William Herry

unread,
Feb 3, 2013, 11:41:32 PM2/3/13
to rubyonra...@googlegroups.com
hi andreo, thanks for reply

answer you inline


On Sun, Feb 3, 2013 at 7:04 AM, <and...@benjamin.dk> wrote:
HI william,

how exactly does chrome prompt that?
 
Uniform Notifier activities:551
user: william N+1 Query detected Activity => [:activity_type] Add to your finder: :include => [:activity_type] N+1 Query method call stack /home/william/work/lly/app/views/activities/index.html.erb:48:in `block in _app_views_activities_index_html_erb___3943997569956187419_46069520' /home/william/work/lly/app/views/activities/index.html.erb:32:in `_app_views_activities_index_html_erb___3943997569956187419_46069520'
 
line 48

            <li><div id="type"></div>类型: <%= hot_activity.activity.activity_type.name %></li> 

line 32
            <li><div id="type"></div>类型: <%= hot_activity.activity.activity_type.name %></li> 

whats the view like?
       <% @hot_activities.each_with_index do |hot_activity, index| %>                                                                                                                            
        <div id="detail<%= index + 1 %>" class="detail cf">
          <ul>
            <li class="header">
              <%= link_to hot_activity.activity.title, activity_path(hot_activity.activity) %>
            </li>
            <li>
              <div id="date"></div>
             ...

is that the only line you have on your controller?

   def index
    @hot_activities = HotActivity.includes(:activity)
                                 .where("activities.status = 'open'")
                                 .order('start_at ASC')
                                 .limit(5)
 
    @closed_activities = Activity.includes(:participants)
                                 .where("status = 'closed'")
                                 .order("participants_count desc")
                                 .limit(5)
 
    @hot_sponsors = User.includes(:created_activities)
                        .where("status = 'A'")
                        .order("created_activities_count desc")
                        .limit(8)
  end

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/iHKLLzvtewoJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages