Я пытаюсь обновить приложение Rails 2.3.5 до Rails 3.2.1.Я знаю, что я должен был сделать 3.0 и 3.1 в первую очередь.Однако ...
Я испытываю очень странную проблему, когда пытаюсь получить доступ к связанной модели с помощью автоматически созданного метода доступа.Например, у меня есть модели «Пользователь» и «Участник», в которых «Пользователь» имеет одного члена, а «Член» принадлежит пользователю.Вызов 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
...
И модель 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?
Любая помощь в решении этой проблемы будет принята с благодарностью.