2
Quelqu'un peut-il m'expliquer ce puzzle de Ruby on Rails?ActiveRecord: has_many associations et opérateur ===
class Post < ActiveRecord::Base
has_many :comments
end
Post.first.comments.class
=> Array
Array === Post.first.comments
=> false
Array === [ 1 ]
=> true
OK, merci. Mais existe-t-il un moyen de savoir quelle classe est Post.first.comments si la méthode même #class est déléguée? – Jakub
vous pourriez trouver ce morceau de la source de rails intéressant: http://github.com/rails/rails/blob/2-3-stable/activerecord/lib/active_record/associations/association_proxy.rb – BaroqueBobcat
OK, merci beaucoup! "Pour ceux qui pourraient trébucher sur ce fil, citation des docs: " Comme un cas de coin, il supprime même la méthode + class + et c'est pourquoi vous obtenez 'blog.posts.class # => Array' si l'objet derrière blog.posts n'est pas un tableau, mais un ActiveRecord :: Associations :: HasManyAssociation. – Jakub