Я застрял в странной ситуации, я работаю над обновлением существующего приложения rails 3 до приложения rails 5.
Используя рельсы 3, у меня есть объектный отчет, который имеет много организаций
@report.organizations
#<ActiveRecord::Relation [#<Organization id: 1, name: "Org 1", description: nil, created_at: "2012-01-27", updated_at: "2019-01-15">]>
@report.organizations.count # 1
когда я помещаю новый объект org в существующее отношение activerecord, это дает мне новое отношение activerecord, включая новый org
@report.organizations<< Organization.new
[#<Organization id: 1, name: "Org 1", description: nil, created_at: "2012-01-27", updated_at: "2019-01-15">, #<Organization id: nil, name: nil, description: nil, created_at: nil, updated_at: nil>]
# Getting count
@report.organizations.count # 2
Используя рельсы 5, я получаю исключение
@report.organizations << Organization.new
*** NoMethodError Exception: undefined method `<<' for #<Organization::ActiveRecord_Relation:0x00007f93483e2640>
и когда мне нравится
@report.organizations.to_a << Organization.new
это дает мне
[#<Organization id: 1, name: "Org 1", description: nil, created_at: "2012-01-27", updated_at: "2019-01-15">, #<Organization id: nil, name: nil, description: nil, created_at: nil, updated_at: nil>]
но число равно 1 вместо двух
@report.organizations.count # 1
Надеюсь, моя проблема вам ясна, пожалуйста, помогите мне, как решить эту проблему. Спасибо