我可能使用错误的序列化对象,所以我提前道歉。对于活动源,我使用序列化的元数据列来简化数据库调用。例如。对于活动源,我只是使用适当的user_id拉入Activity对象。我正在添加line_item对象,如下所示:
class Activity < ActiveRecord::Base
serialize :data
activity = Activity.new(:user_id => user_id...)
if activity.source_type == "LineItem"
line_item = LineItem.find(activity.source_id)
activity.update_attributes(:data => line_item)
end
然后我通过某些部分调用它,其中“book”是元数据位:
= link_to image_tag(item.data.book.image_url),
book_path(item.data.book.id)
这在我的盒子上工作正常,但是Heroku给了我“TypeError(不能转储匿名类Class)”。是什么给了什么?
答案 0 :(得分:1)
我认为您需要明确说明您要序列化的类型。所以语法是:
serialize :data, Hash