使用 Rails 3.2,我正在开发一个 API 支持的模型(不是 ActiveRecord)。我希望能够to_json
在 Rails 控制器中调用这个模型。在阅读了一堆 ActiveModel 文档后,我仍然不清楚一件事:
给定这样的模型:
class MyModel
attr_accessor :id, :name
def initialize(data)
@id = data[:id]
@name = data[:name]
end
def as_json
{id: @id, name: @name}
end
end
这应该按预期工作,还是我还需要包括ActiveModel::Serializers::JSON
?我很难弄清楚as_json
/to_json
方法通常在哪里定义,以及 Rails 何时在不同情况下自动调用哪些方法......
感谢您的任何见解!