我的rails应用程序在我的本地测试服务器上运行正常,但是当我部署到我的生产(Passenger)服务器时,我收到以下错误:
Error message:
Unknown key(s): through
Exception class:
ArgumentError
为什么会发生这种情况?代码本身不存在缺陷,因为在开发服务器上一切正常。有问题的代码非常简单:
class PageEvent < Event
belongs_to :page, :through => :calendar
end
,其中
class Event < ActiveRecord::Base
belongs_to :calendar, :polymorphic => true
end
和
class Calendar < ActiveRecord::Base
has_many :events, :dependent => :destroy, :inverse_of => :calendar, :as => :calendar, :class_name => "SpecialEvent"
end
答案 0 :(得分:5)
我不能说它似乎在开发中发生了什么,但没有belongs_to :through
。
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to