【发布时间】:2012-11-30 07:49:15
【问题描述】:
我正在尝试从 postgres 数据库中提取行,我可以将它们从 desc 中提取出来,但是当我尝试随机时,我得到一个接近随机的语法错误。
错误
PG::Error: ERROR: syntax error at or near "rand"
LINE 1: ... "hashtags".* FROM "hashtags" ORDER BY tweet_id rand LIMIT...
^
: SELECT "hashtags".* FROM "hashtags" ORDER BY tweet_id rand LIMIT 4
将其拉出的代码
<div id="hashtags">
<% Hashtag.order("tweet_id desc").limit(4).each do |hashtag| %>
<blockquote><%= hashtag.content %></blockquote>
<div class="from">— @<%= hashtag.screen_name %></div>
<% end %>
</div>
【问题讨论】:
-
呃,你的代码示例没有使用
random();它正在使用desc。那是正确的代码吗?另外,顺便说一句,您的查询应该进入您的控制器,而不是您的视图。最后,我建议在 Rails 控制台中测试类似的东西。 -
如何将它添加到控制器然后调用它?
-
只需输入
@random_hashtags = Hashtag.order(...).limit(4),然后像@random_hashtags.each do...一样在您的视图中引用它。
标签: ruby-on-rails ruby-on-rails-3 postgresql ruby-on-rails-3.2