我有一个存储在其中的字符串session[:login]
,我想在 SQL 查询中使用它,所以我写了这个。
@users = User.find(:all, :conditions => ['user = "#{session[:login]}"'])
为什么这不起作用?谢谢!
我有一个存储在其中的字符串session[:login]
,我想在 SQL 查询中使用它,所以我写了这个。
@users = User.find(:all, :conditions => ['user = "#{session[:login]}"'])
为什么这不起作用?谢谢!
您可以通过这种方式重建查询:
@users = User.find(:all, :conditions => ['user = ?', session[:login]])
但这个看起来更好:
@users = User.where(user: session[:login])
这只是一个没有任何变量插值的字符串:'user = "#{session[:login]}"'
带有变量插值的字符串如下所示:"user = '#{session[:login]}'"
你能试试这个
@users = User.find(:all, :conditions => ["user = '#{session[:login]}' "])
外部使用双引号,内部使用单引号。