2011-05-26 55 views
0

我得到这个错误,当我尝试设置分页在饲料中的元素:错误与分页

ActiveRecord::StatementInvalid in Videos#feed_display 

Showing /rubyprograms/dreamstill/app/views/videos/feed_display.html.erb where line #6 raised: 

SQLite3::SQLException: only a single result allowed for a SELECT that is part of an expression: SELECT "timeline_events".* FROM "timeline_events" WHERE (SELECT timeline_events.* FROM timeline_events 
             WHERE ((actor_type = 'User' AND actor_id IN (SELECT followed_id FROM relationships WHERE follower_id = 2)) AND ((secondary_subject_type = 'Video' AND subject_type <> 'Profile' AND secondary_subject_id NOT IN (SELECT id FROM videos WHERE user_id = 2)) OR (secondary_subject_type = 'User' AND secondary_subject_id <> 2) OR (secondary_subject_type = 'nil') OR (subject_type = 'Profile' AND secondary_subject_id NOT IN (SELECT id FROM videos WHERE user_id = 2) AND subject_id NOT IN (SELECT id FROM profiles WHERE user_id = 2)))) 
             ORDER BY timeline_events.created_at DESC) LIMIT 10 OFFSET 0 

这是什么意思?如何解决呢?

+0

你的子查询返回多个列 – 2011-05-26 05:01:10

+0

你是什么意思?我该如何解决这个问题? – 2011-05-26 05:05:05

回答

0

其中一个子查询返回多个结果。这可以通过在子查询中添加Distinct或Limit 1来解决。我会使用Firefox的插件“Sqlite Manager”来测试这个查询。

+0

是的,在任何地方,我在WHERE子句中有一个SELECT返回多个记录,因为我正在测试以查看该范围内是否有内容。如果我将范围限制为只有一条记录,那么SQL代码将无法按需要工作。 – 2011-05-26 16:53:38