PG-Fehler bei SELECT DISTINCT, ORDER BY expressions must appear in select-Liste, wenn Sie versuchen, um anzeigen auf Heroku
Ich bekomme folgende Fehler, nachdem ich fügte hinzu, mehr Beziehungen zu meinem Projekt. Auf localhost, zeigt die Seite völlig in Ordnung. Jedoch bekomme ich eine Fehlermeldung, wenn Sie versuchen, um es anzuzeigen auf heroku.
ActiveRecord::StatementInvalid (PG::Error: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
Hier ist mein traveldeal controller:
def show
@traveldeal = @commentable = Traveldeal.find(params[:id])
@comments = Comment.all
@title = @traveldeal.title
@eventdeals = Eventdeal.tagged_with(@traveldeal.location_tag_list, :any => true, :order => 'RANDOM()', :limit => 3)
end
traveldeal/show.html
<% unless @eventdeals.blank? %>
<h1>Events in the area:</h1>
<% @eventdeals.each do |eventdeal| %>
<%= link_to eventdeal do %>
<!-- content -->
<% end %>
<% end %>
<% end %>
Heroku logs
SELECT DISTINCT eventdeals.* FROM "eventdeals" JOIN taggings event_taggings_e9f0e2e ON event_taggings_e9f0e2e.taggable_id = eventdeals.id AND event_taggings_e9f0e2e.taggable_type = 'Eventdeal' WHERE (event_taggings_e9f0e2e.tag_id = 1 OR event_taggings_e9f0e2e.tag_id = 3 OR event_taggings_e9f0e2e.tag_id = 4 OR event_taggings_e9f0e2e.tag_id = 5) ORDER BY RANDOM()):
Dieser code war arbeiten, so dass ich nur angezeigt, 3 random eventdeals, dass abgestimmt Standort (über act-as-taggable-on) mit einem traveldeal.
Nachdem ich jedoch Hinzugefügt, eine Beziehung (in Bezug auf eventdeals aber nicht traveldeals), begann ich immer die pg-Fehler.
Hier sind die Beziehungen, die Hinzugefügt wurde:
Reise.rb
class Trip < ActiveRecord::Base
has_many :eventdealtrips, :dependent => :destroy
has_many :eventdeals, :through => :eventdealtrips
end
eventdeal.rb
class Eventdeal < ActiveRecord::Base
has_many :eventdealtrips
has_many :trips, :through => :eventdealtrips, :dependent => :destroy
end
eventdealtrip.rb
class Eventdealtrip < ActiveRecord::Base
belongs_to :eventdeal
belongs_to :trip
end
Einen Rat, wie ich kann immer noch ein random array mit 3 eventdeals?
Dank.
InformationsquelleAutor der Frage Huy | 2012-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich dieses Problem und löste es, indem
order
am Ende meiner daisy chain.InformationsquelleAutor der Antwort boulder_ruby