Rails показывает сообщения только от тех пользователей, за которыми следит текущий пользователь - PullRequest
3 голосов
/ 22 января 2011

Я новичок в Rails и пробуюсь в веб-приложении типа твиттера.

Часть приложения «подписчики» и «последователи» в порядке.Однако я хочу отфильтровать индекс сообщений, чтобы он отображал только те записи, за которыми следит текущий пользователь.

Мне нужно сделать что-то вроде:

@posts = Post.where('user_id LIKE ?', current_user.friendships  ) 

Как я и ожидал, это вырветошибка

SQLite3::SQLException: near ",": syntax error: SELECT "posts".* FROM "posts" WHERE (user_id LIKE 8,9)

Кажется, это близко к тому, что я хочу, потому что 8,9 - это идентификаторы друзей, за которыми я следую.

Есть какие-нибудь предложения относительно лучшего способа получить то, что я ищу?

Спасибо!

1 Ответ

5 голосов
/ 22 января 2011

Попробуйте IN вместо LIKE:

@posts = Post.where("user_id IN (?)", current_user.friendships)

Или:

@posts = Post.where(:user_id => current_user.friendships)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...