我试图这样做:
class Event < ActiveRecord::Base
belongs_to :previous_event
has_one :event, :as => :previous_event, :foreign_key => "previous_event_id"
belongs_to :next_event
has_one :event, :as => :next_event, :foreign_key => "next_event_id"
end
因为我想让用户重复事件并同时更改多个即将到来的事件。我做错了什么,还是有其他方法可以做到这一点?不知何故,我需要知道上一个和下一个事件,不是吗?当我在 consolewith 中对此进行测试时Event.all[1].previous_event
,出现以下错误:
NameError: uninitialized constant Event::PreviousEvent
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:105:in `const_missing'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2199:in `compute_type'
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:2195:in `compute_type'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:156:in `send'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:156:in `klass'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/belongs_to_association.rb:49:in `find_target'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_proxy.rb:239:in `load_target'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_proxy.rb:112:in `reload'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations.rb:1250:in `previous_event'
from (irb):2
这里出了什么问题?非常感谢您的帮助。