我正在尝试将Rails 2.3.5应用程序升级到Rails 3.2.1。我知道我应该先做3.0和3.1。然而...
当我尝试通过自动生成的访问器方法访问关联模型时,我遇到了一个非常奇怪的问题。例如,我有User和Member模型,其中User有一个成员,Member属于User。调用User.first.member会使webrick服务器崩溃而不会显示错误消息。在具有以下输出的控制台中也会发生相同的情况。
irb(main):003:0> User.first.member
←[1m←[36mUser Load (0.0ms)←[0m ←[1mSELECT `users`.* FROM `users` LIMIT 1←[0m
C:\git\web_benebridge\website>rails c
这两个对象确实存在于数据库中并且链接正确,这在Rails 2.3.5中工作正常。
用户模型因此定义:
class User < ActiveRecord::Base
require 'digest/sha2'
belongs_to :association
has_one :member
...
会员模型如下:
class Member < ActiveRecord::Base
belongs_to :user
belongs_to :association
...
上面显示的关联模型的定义如下:
class Association < ActiveRecord::Base
has_many :association_benefits
has_many :association_kases
has_many :benefits
has_many :contacts
has_many :content_items
has_many :members
has_many :users
...
我尝试过各种其他具有关联的模型,其中一些关联访问器方法可以正常工作,但其他模型却没有。真的很麻烦,没有任何错误,环境就会退出。
我担心的一个问题是拥有一个名为Association的模型可能会令人困惑。有没有其他人在Rails的更高版本中遇到这个问题?
任何有助于解决此问题的帮助将不胜感激。