Хорошо, поэтому у меня было , это прекрасно работало , прежде чем сделать несколько добавлений контроллера и переместить некоторый код. Я чувствую, что упускаю что-то действительно простое здесь, но потратил часы, пытаясь понять, что происходит. Вот ситуация.
class Question < ActiveRecord::Base
has_many :sites
end
и
class Sites < ActiveRecord::Base
belongs_to :questions
end
Я пытаюсь отобразить свои сайты в порядке суммы столбца 'like'
в таблице сайтов. Из моего предыдущего вопроса StackOverflow у меня это работало, когда партиал вызывался в файле / 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