2009-05-20 46 views
0

哪里错误在此,我不能看到它:Rails的语法错误

news = News.find(:all, :conditions => [":simulation_id => session[:sim_id] AND :created_at > session[:last_login]"]) 

回答

5

试试这个:

news = News.find(:all, :conditions => ["simulation_id = ? AND created_at > ?", session[:sim_id], session[:last_login]]) 
1

你的条件字符串不会被评估为你想到:

[":simulation_id => session[:sim_id] AND :created_at > session[:last_login]"] 

变化,要

["simulation_id = ? AND created_at > ?", session[:sim_id], session[:last_login]] 
+0

simulation_id应该是 '=',而不是 '=>' – 2009-05-20 14:36:10

0

您也可以拨打Model.all代替Model.find(:all)这将是这个样子:

news = News.all(:conditions => ["simulation_id = ? AND created_at > ?", session[:sim_id], session[:last_login]])