我已经在官方文档之后从Rails 4升级到Rails 4.2。
顺便说一句,我有一个bug需要修复。
在我的搜索控制器中,我有:
@contents = Content.published.search_by_text(@query)
Content Load (248.7ms) SELECT "contents".*, ((ts_rank(("contents"."tsv"), (to_tsquery('italian', ''' ' || 'ces' || ' ''')), 0))) AS pg_search_rank FROM "contents" WHERE "contents"."state" = $1 AND (published_at <= '2015-04-07 16:38:38.000591') AND ((("contents"."tsv") @@ (to_tsquery('italian', ''' ' || 'ces' || ' ''')))) ORDER BY published_at DESC, pg_search_rank DESC, "contents"."id" ASC [["state", "published"]]
=> []
@contents.count
PG::SyntaxError: ERROR: syntax error at or near "AS"
在Rails 4.0中,它返回&#39; 0&#39;。问题当然与@comments有关。
@contents.class
=> Content::ActiveRecord_Relation
我添加了to_a,现在它可以正常工作。
@contents.to_a.count
=> 0
我想了解为什么我需要将活动记录查询的结果转换为数组。 Rails 4.2中有什么变化?