我已經更新了我的服務器紅寶石1.9.2,這停止工作(軌3.0.6):to_xml包括在軌不起作用3.0.6紅寶石1.9.2
def index
@musicians = Musician.includes(:instruments)
render :xml => @musicians.to_xml(:include => :instruments)
end
,這些模型:
class Musician < ActiveRecord::Base
has_and_belongs_to_many :instruments
end
class Instrument < ActiveRecord::Base
has_and_belongs_to_many :musicians
end
我得到這個錯誤:
undefined method `type' for nil:NilClass
框架跟蹤:
activesupport (3.0.6) lib/active_support/whiny_nil.rb:48:in `method_missing'
activerecord (3.0.6) lib/active_record/serializers/xml_serializer.rb:230:in `compute_type'
activemodel (3.0.6) lib/active_model/serializers/xml.rb:22:in `initialize'
activemodel (3.0.6) lib/active_model/serializers/xml.rb:75:in `new'
activemodel (3.0.6) lib/active_model/serializers/xml.rb:75:in `block in serializable_attributes'
任何線索我做錯了什麼?
我剛剛測試了這一點,它給了我一個不同的錯誤:「未定義的方法'宏」的零:NilClass」。我可以通過創建一個視圖來輕鬆解決這個問題,但我仍然想知道這裏出了什麼問題。感謝您的輸入! – 2011-04-14 11:41:10
您寧可爲連接表創建模型,而不是視圖。你也可以試試':include => {:musicians_instruments =>:instruments}'。 – dombesz 2011-04-14 12:14:40