J'ai essayé des choses telles que:Je veux obtenir un tableau d'utilisateurs dont le nom commence par « x » en utilisant la console Rails
users=User.where :conditions => "last_name LIKE ?" "%X"
and
users=User.where("last_name.each_char.first = 'X'")
and
users=User.where(:last_name.to_s.char.first => "X")
and
users=User.where "last_name.initial" == "X"
users=User.where("last_name".start_with ? "X")
users=User.where("last_name".match(/^X/))
users=User.where(:last_name[0] == "X")
et tout un tas de tentatives plus ratées. user.last_name est une chaîne valide, et je pense que je comprends pourquoi: last_name, qui est un symbole, ne fonctionnait pas, donc j'ai aussi fait « last_name » [0] et: last_name.to_a [0]
Certaines des tentatives, comme celle-ci
[64] pry(main)> user=User.where("last_name[0] = 'X'").all
User Load (0.9ms) SELECT "users".* FROM "users" WHERE (last_name[0] = 'X')
=> #<User::ActiveRecord_Relation:0x3723938>
retourné une relation d'enregistrement actif Toute aide la plus appréciée!
Pour plus de contexte, la clause where est exécutée sur la base de données, pas dans ruby / rails, vous devez donc utiliser la syntaxe appropriée, probablement sql. – daryn
Garçon j'ai dansé tout autour de celui-là! Merci beaucoup Daryn. –