2014-11-27 2 views
0

, 그러나 나는 다음과 같은 오류 얻을 4.1.8 레일로 업그레이드 한 후 레일 : enter image description heresqlite3를 ::되는 SQLException : 그런 칼럼 : 업그레이드 한 후 내 앱이 현재 코드 년 이상 근무하고있다 4.1.8

사용자 리뷰가 많은 핀과 사용자가 속한 핀이있는 음악 리뷰 사이트입니다. 핀에는 문자열 인 '연도'가 있습니다. 사용자가 검토하는 앨범의 순위를 매기므로 사이트에서 해당 연도의 상위 10 개 목록을 만듭니다. 이 페이지에는 상위 10 개 목록을 게시 한 모든 사용자가 표시됩니다.

페이지 컨트롤러 :

def tens2013 
    @users = User.includes(:pins).where('pins.year=?', '2013') 
    @pins = Pin.all 
    @pins_ten = Pin.where(:year => '2013', :rank => ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], :rank => !nil) 
end 

뷰 :

<% @users.each do |user| %> 
     <ul class="ver2 well"> 
      <li><div class="reviewer"><%= link_to (image_tag user.image(:small)), user %><h4><%= user.name %></h4></div></li> 
      <% user.pins.order('rank DESC').each do |pin| %> 
       <% if pin.year == '2013' && (pin.rank == 10 || pin.rank == 9 || pin.rank == 8 || pin.rank == 7 || pin.rank == 6 || pin.rank == 5 || pin.rank == 4 || pin.rank == 3 || pin.rank == 2 || pin.rank == 1) %> 
        <li><div class="span2"><%= link_to (image_tag pin.image(:medium)), pin %><br/> #<%= pin.rank %> <br/> <%= truncate(pin.album, length:15) %></div></li> 
       <% end %> 
      <% end %> 
     </ul> 
    <% end %> 

내가 뭔가 이야기 해봐 방법으로 좋은 재생되지 않습니다 레일 변경 있으리라 믿고있어. 나는 그것을 봤다. 그러나 나는 변화를 발견 할 수 없다.

답변

0

답변을 찾았습니다. Rails를 업그레이드 한 다른 사용자에게 도움이되기를 바랍니다. 레일을 업그레이드하는 과정을 따라 http://blog.arkency.com/2013/12/rails4-preloading/

나는 당신이 .eager_load 대 .includes의 위대한 설명에서 읽을 수 내 development.rb 파일

거짓 config.eager_load을 = 추가 할 필요가 : 여기 좋은 블로그 게시물이있다 해당 블로그 게시물을 만들지 만 .eager_load를 false로 변경하면 activerecord 쿼리가 두 테이블을 조인 할 수 없습니다.

나는

@users = User.eager_load(:pins).where('pins.year=?', '2013') 

@users = User.includes(:pins).where('pins.year=?', '2013') 

을 변경하고 모두 다시 제대로했다.

관련 문제