0
我正将应用程序从rails 5.0迁移到5.1,并且在访问相关模型时出现错误'Cant cast Hash'(一切正常5.0)。Rails 5.0 to 5.1 - 'Cant cast Hash'on one-to-many association
sighting.rb:
belongs_to :species, :class_name => 'Species', :foreign_key => 'species_id'
belongs_to :site, :class_name => 'Site', :foreign_key => 'site_id'
belongs_to :creator, :class_name => 'User', :foreign_key => 'creator_id'
belongs_to :spotter, :class_name => 'User', :foreign_key => 'spotter_id'
species.rb:
has_many :sightings, :class_name => 'Sighting', :foreign_key => 'species_id', :dependent => :restrict_with_exception
site.rb:
has_many :sightings, :class_name => 'Sighting', :foreign_key => 'site_id', :dependent => :restrict_with_exception
在控制台(已接种的数据库):
Sighting.find(1).site
返回正确的网站模型。
Sighting.find(1).species
在另一方面返回错误
TypeError: can't cast Hash
两者相关联的模型(以及在用户模型 - 未示出)都设置了以相同的方式。正如我所说,如果我恢复到轨5.0再一次正常工作。