Ruby on rails 我如何使用SQL;在;带有rails活动记录find和.map的语句

Ruby on rails 我如何使用SQL;在;带有rails活动记录find和.map的语句,ruby-on-rails,syntax-error,Ruby On Rails,Syntax Error,错误: 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]]) 我认为Role_id=1,2,3,4中的逗号。我认为如果它是一个字符串,则它必须是role_id='1,2,3,4'

错误:

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]])

我认为Role_id=1,2,3,4中的逗号。我认为如果它是一个字符串,则它必须是role_id='1,2,3,4',如果您希望对整数进行or样式比较,则它必须是(1,2,3,4)中的role_id。

更改此项:

SQLite3::SQLException: near ",": syntax error: SELECT * FROM "posts" WHERE (role_id = 1,2,3,4 AND created_at > '2009-05-21 11:54:52') 


我同意。您可能需要(1,2,3,4)中的角色id
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]])