我的应用程序具有以下模型类:
class Parent < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :child_attributes, :child
has_one :child
accepts_nested_attributes_for :child
#This is to generate a full JSON graph when serializing
def as_json(options = {})
super(options.merge, :include => {:child => {:include => :grandchild } })
end
end
class Child < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :grandchild_attributes, :grandchild
belongs_to :parent
has_one :grandchild
accepts_nested_attributes_for :grandchild
end
class Grandchild < ActiveRecord::Base
belongs_to :child
end
在我的控制器中,我有一个create
方法,定义如下:
def create
@parent = Parent.new(params[:parent])
#Rest ommited for brevity - just respond_with and save code
end
end
我的请求在日志中显示为:
Parameters: {"parent"=>{"child"=>{"grandchild"=>{"gc_attr1"=>"value1", "gc_attr2"=>"value2"}}, "p_attr1"=>"value1"}
这是来自我使用 RestKit 的 iphone 应用程序客户端的完整序列化图。我在其他 SO 问题上看到过,比如这里,那是指这篇博文。但是,我的问题是,我不知道如何使用 RestKit 从客户端控制序列化图以构建这样的请求(这样,它可以工作..用调试器测试)
Parameters: {"parent"=>{"child_attributes"=>{"grandchild_attributes"=>{"gc_attr1"=>"value1", "gc_attr2"=>"value2"}}, "p_attr1"=>"value1"}
如果有任何选项我可以传递给 Parent.new 方法或以我可以在嵌套 JSON 对象中实现 model_attributes 结构的方式自定义 RestKit JSON 输出,任何人都有想法吗?
谢谢