Ticket #2917: habtm-singular-id-get-method.patch
| File habtm-singular-id-get-method.patch, 1.7 kB (added by François Beausoleil <francois.beausoleil@gmail.com>, 4 years ago) |
|---|
-
activerecord/test/associations_test.rb
old new 1372 1372 assert !developer.special_projects.include?(other_project) 1373 1373 end 1374 1374 1375 def test_returns_collection_of_ids 1376 francois = Developer.new("name" => "Francois") 1377 francois.projects.concat([Project.find(1), Project.find(2)]) 1378 francois.save 1379 1380 assert_equal 2, francois.project_ids.size 1381 assert francois.project_ids.include?(Project.find(1).id) 1382 assert francois.project_ids.include?(Project.find(2).id) 1383 end 1384 1385 def test_assign_through_collection_of_ids 1386 francois = Developer.new("name" => "Francois") 1387 francois.project_ids = [Project.find(1).id, Project.find(2).id] 1388 francois.save 1389 francois.reload 1390 1391 assert_equal 2, francois.projects.size 1392 assert francois.projects.include?(Project.find(1)) 1393 assert francois.projects.include?(Project.find(2)) 1394 end 1375 1395 end -
activerecord/lib/active_record/associations.rb
old new 753 753 association 754 754 end 755 755 756 define_method("#{Inflector.singularize(association_name)}_ids") do 757 send("#{association_name}").map {|entry| entry.id} 758 end 759 756 760 define_method("#{Inflector.singularize(association_name)}_ids=") do |new_value| 757 761 send("#{association_name}=", association_class_name.constantize.find(new_value)) 758 762 end