roles = Role.find_all_by_simulation_id(session[:sim_id]) forum_posts = Post.find(:all, :conditions => ["role_id = ? AND created_at > ?", roles.map(&:id), session[:last_login]])
Ошибка:
SQLite3::SQLException: near ",": syntax error: SELECT * FROM "posts" WHERE (role_id = 1,2,3,4 AND created_at > '2009-05-21 11:54:52')
изменить это:
forum_posts = Post.find(:all, :conditions => ["role_id = ? AND created_at > ?", roles.map(&:id), session[:last_login]])
до
forum_posts = Post.find(:all, :conditions => ["role_id IN (?) AND created_at > ?", roles.map(&:id), session[:last_login]])
Я думаю запятые в Role_id = 1,2,3,4. Я думаю, что это должен быть role_id = '1,2,3,4', если это строка или role_id IN (1,2,3,4), если вы хотите сравнение стиля OR для целого числа.