2012-05-11 17 views
0

下正常工作:ROR的初学者,为什么工作我的查询的一个版本,而不是其他

def self.already_joined?(days_event,user) 
    already_joined=DaysEventsUser.where(:user_id=>user, :days_events_id=>days_event) 
    if !already_joined.empty? 
     return true 
    end 
end 

但下面不:

def self.already_joined?(days_event,user) 
already_joined=DaysEventsUser.where("user_id=>? AND days_events_id=>?",user,days_event) 
if !already_joined.empty? 
    return true 
end 
end 

它我的理解,第二个是更安全的,并且查询似乎自行工作正常,但只要我尝试衡量它是否返回一个值,我得到的错误:

Mysql2 ::错误:您的SQL语法错误; (*)FROM days_events_users WHERE(user_id => 37 AND days_events_id => 37 AND days_events_id =>'20')'在第一行检查对应于您的MySQL服务器版本的手册, > '20')

回答

1
already_joined=DaysEventsUser.where("user_id= ? AND days_events_id= ?",user,days_event) 
+0

恩,这是尴尬,谢谢。 – turbo2oh

相关问题