【发布时间】:2015-01-19 07:22:50
【问题描述】:
我一直在为 Rails 构建一个练习应用程序。这是一个简单的博客应用程序,只有文章模型和使用 Postgresql 数组完成的标记系统。一切都很好,除了我无法让特定标签的页面正常工作。
用于获取与给定标签匹配的帖子的 Activerecord 查询在 Rails 控制台中正常工作,但在尝试使用 View 时同样失败。我已经验证并且参数正在通过,请帮助.. 我没有收到任何错误消息,据我所知,rails 通过 ActiveRecord::Relation::ActiveRecord_Relation_Article 作为结果查询视图,但视图文件无法按列表显示...
以下是相关文件,
routes.rb
get 'tags/:tag', to: 'articles#tagview', as: :tag
articles_controller.rb
def tagview
@articles = Article.where("'params[:tag]' = ANY (tags)")
end
tagview.html.erb
<% @articles.each do |article| %>
<tr>
<td><%= article.title %></td>
<td><%= article.content %></td>
<td><%= article.tags.join(" ") %></td>
</tr>
<% end %>
结果页面只是空白。而上述查询在 Rails 控制台中有效。
【问题讨论】:
-
查看页面上查看
@articles.count?它打印什么? -
我建议您首先查看您的日志文件 (log/development.log),然后比较控制台和控制器生成的 SQL 查询,看看有什么区别。在此处粘贴实际的 SQL 查询甚至可能会有所帮助。
标签: ruby-on-rails ruby postgresql rails-activerecord