後,我加入到我的項目,更關係我得到這個跟隨誤差時,必須出現在選擇列表中。在本地主機上,頁面顯示非常好。但是,在嘗試在heroku上查看時出現錯誤。PG錯誤SELECT DISTINCT,ORDER BY表達式試圖查看在Heroku
ActiveRecord::StatementInvalid (PG::Error: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
這裏是我的traveldeal控制器:
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的日誌
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()):
此代碼式爲W工作會有這樣我只顯示匹配位置(通過動作-AS-可加標籤上)配有一個traveldeal 3個隨機eventdeals。
然而,當我加了關係(相關eventdeals但不traveldeals),我開始了第錯誤。
這裏有添加的關係:
trip.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
如何任何意見我可以繼續我得到了3個事件處理的隨機數組?
謝謝。
不太清楚,我跟着你。我使用我的heroku日誌中的詳細信息更新了我的帖子。 – Huy
編號就像一個更加明確的答案爲好,林有同樣的問題。我只是想隨機化我的查詢順序。 – rugbert