2010-05-20 30 views
0

好吧,所以在添加一些控制器和重新定位某些代碼之前,我有this working just fine。我覺得我錯過了一些非常簡單的東西,但花了數小時試圖弄清楚發生了什麼。這是情況。從一個單獨的控制器第2部分按總和排序2

class Question < ActiveRecord::Base 
    has_many :sites 
end 

class Sites < ActiveRecord::Base 
    belongs_to :questions 
end 

我想在站點表'like'列的總和,以顯示我的網站。從我的previous StackOverflow question我已經在/ views/sites/index.html.erb文件中調用部分時有效。然後,我將部分內容移至/ views/questions/show.html.erb file中,併成功顯示了這些網站,但未能按照從網站視圖中調用時那樣對它們進行排序。

我打電話的部分從/views/questions/show.html.erb文件,如下所示:

<%= render :partial => @question.sites %> 

這裏是SitesController#指數代碼

class SitesController < ApplicationController 

    def index 
    @sites = @question.sites.all(:select => "sites.*, SUM(likes.like) as like_total", 
      :joins => "LEFT JOIN likes AS likes ON likes.site_id = sites.id", 
      :group => "sites.id", 
      :order => "like_total DESC") 

    respond_to do |format| 
     format.html # index.html.erb 
     format.xml { render :xml => @sites } 
    end 
    end 

回答

0

啊......事實證明,我已經將Sites控制器中的@sites控制器代碼移動到了Questions控制器顯示操作。然後我就從

<%= render :partial => @question.sites %> 

在/views/questions/show.html.erb頁面改變我的偏

<%= render :partial => @sites %> 
0

我認爲這應該是

@sites = @question.sites.all(:select => "sites.*, SUM(likes.like) as like_total", 
     :joins => "LEFT JOIN likes AS likes ON likes.site_id = sites.id", 
     :group => "sites.id", 
     :order => "SUM(likes.like) DESC") 
+0

當我把在站點控制器index操作它不會做任何東西。它是否需要去問題控制器的某個地方? – bgadoci 2010-05-20 06:01:02

相關問題