Mise à jour
Je suis en train de faire est de sélectionner des colonnes spécifiques et utiliser des alias sur eux, et l'utiliser dans un named_scope. Je veux utiliser des alias parce que plus tard, je vais utiliser cela comme une idée lorsque j'essaie de rejoindre plusieurs tables, en fonction du code SQL que j'ai créé.named_scope ne montre pas les colonnes correctes
Modifier: Im en cours d'exécution dans Rails 2.3.8 et Ruby 1.8.7
Voici mon named_scope ...
named_scope :prog_result,:select => "users.id AS 'user_id', users.username AS 'username', users.lastname AS 'lastname', users.firstname AS 'firstname', departments.name AS 'department', versions.number AS 'version'",
:joins => {:department => :version}
Et quand je tente de l'appeler en console User.prog_result
le résultat est ceci ...
[#<User username: "respondent1", lastname: "res", firstname: "pon">, #<User username: "2222", lastname: "Numero", firstname: "Dos">]
User.prog_result.find(2)
2 est l'identifiant de l'utilisateur « respondent1 », le résultat de cette User.prog_result.inspect
est
"[#<User username: \"respondent1\", lastname: \"res\", firstname: \"pon\">, #<User username: \"2222\", lastname: \"Numero\", firstname: \"Dos\">]"
Quelqu'un peut-il me dire ce que je fais mal? ..
Désolé à ce sujet !, je cours Rails 2.3.8 J'ai édité ma question. Vous avez raison sur 'User.prog_result.class', il retourne' ActiveRecord :: NamedScope :: Scope' dans la console, et aussi sur piquer dedans. Mais quand j'ai essayé d'obtenir le département, il retourne "nil" idk pourquoi, mais avec mon code précédent, j'ai utilisé 'User.find_by_sql()' j'ai eu leurs ministères .. – jovhenni19