我一直在努力解决这个问题一段时间,我只是无法得到它的处理。Rails 2 - > Rails 3升级失败,抱怨关于协会
我有哪些on Rails的2.3.18/ruby1.8.7
我试图得到它Rails3中运行良好的站点。我遵循指南并完成了视图更新(使用rails_xss)。现在我试图让测试套件通过并运行到以下奇怪的问题:
/Users/jon/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord-3.0.20/lib/active_record/reflection.rb:71:
in `reflect_on_association': undefined method `[]'
for #<ActiveRecord::Reflection::AssociationReflection:0x00000100b607a0> (NoMethodError)
from /Users/jon/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activerecord- 3.0.20/lib/active_record/autosave_association.rb:138:in `has_many'
from /projects/mau/app/models/studio.rb:7:in `<class:Studio>'
from /projects/mau/app/models/studio.rb:3:in `<top (required)>'
...
from /Users/jon/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.0.20/lib/rails/application.rb:134:in `initialize!'
from /Users/jon/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.0.20/lib/rails/application.rb:77:in `method_missing'
from /projects/mau/config/environment.rb:5:in `<top (required)>'
from /projects/mau/spec/spec_helper.rb:3:in `require'
from /projects/mau/spec/spec_helper.rb:3:in `<top (required)>'
看似相关的代码位将是我的Studio
模型有很多artists
。 Artist
模型源自User
。
class Studio < ActiveRecord::Base
has_many :users
...
end
class Artist < User
...
end
class User < ActiveRecord::Base
belongs_to :studio
...
end
我还有项目restful_authentication
,并计划撕了出来,但希望我能得到一个测试套件运行之后做到这一点。在这一点上,我无法运行任何东西,因为只要我访问其中一个有问题的对象,就会失败。
我已经研究过升级红宝石(1.9.3),但仍遇到同样的问题。
我已经用调试器深入挖掘过,但找不到任何相关的东西。
我试过用完整的类名和外键指定belongs_to
/has_many
关系 - 没有区别。
我已经尝试了各种版本的Rails 3.0.x从3.0.1到3.0.20。没有效果。同样的问题。
我试过所有复数和单数组合的符号为has_many
和belongs_to
符号。
最糟糕的是,我有一些关于不同物体的其他关系,似乎很愉快地设置。他们不涉及User
模型,这让我担心它是restful_authentication
位。
我不能,为了我的生活,弄清楚是什么。如果任何人有任何想法或以前见过这个,我会喜欢一些帮助。
我试图去到Rails 3.0.20的目的是向前滚动到3.1,然后从那里3.2。在我推进之前,我真的想在3.0.20上获得一个半稳定版本。
感谢,提前任何提示/技巧 罗杰斯