我有一個字符串存儲在session[:login]
,我想用在SQL查詢中,所以我寫了這個。把一個變量放在一個字符串中,它不工作?
@users = User.find(:all, :conditions => ['user = "#{session[:login]}"'])
爲什麼不能正常工作?謝謝!
我有一個字符串存儲在session[:login]
,我想用在SQL查詢中,所以我寫了這個。把一個變量放在一個字符串中,它不工作?
@users = User.find(:all, :conditions => ['user = "#{session[:login]}"'])
爲什麼不能正常工作?謝謝!
這只是沒有任何變量替換字符串:'user = "#{session[:login]}"'
用繩子可變內插看起來像這樣:"user = '#{session[:login]}'"
您可以試試這個
@users = User.find(:all, :conditions => ["user = '#{session[:login]}' "])
使用雙引號外部和內部單引號。
Hck已經在10分鐘前給出了答案。 – Mischa
Ruby的單引號字符串不會內插,雙引號字符串可以; SQL使用單引號作爲字符串文字,雙引號(通常)用於引用標識符。 –
嗯,有趣的是,謝謝你的信息 –