1

我有一个存储在其中的字符串session[:login],我想在 SQL 查询中使用它,所以我写了这个。

@users = User.find(:all, :conditions => ['user = "#{session[:login]}"']) 

为什么这不起作用?谢谢!

4

3 回答 3

6

您可以通过这种方式重建查询:

@users = User.find(:all, :conditions => ['user = ?', session[:login]]) 

但这个看起来更好:

@users = User.where(user: session[:login])
于 2012-05-14T09:34:53.660 回答
4

这只是一个没有任何变量插值的字符串:'user = "#{session[:login]}"'

带有变量插值的字符串如下所示:"user = '#{session[:login]}'"

于 2012-05-14T09:38:39.210 回答
0

你能试试这个

 @users = User.find(:all, :conditions => ["user = '#{session[:login]}' "]) 

外部使用双引号,内部使用单引号。

于 2012-05-14T09:48:50.763 回答