从我的客户,我正在发送一个与其他对象相关的对象:
变量数据 = {
“评论”:result.comment,
“文档”:{
“id”:结果.doc.id
}
“地点”: {
“网址”:result.site.url
}
};
$.ajax({
网址:'/数据',
类型:'POST',
数据:数据
});
这将发布到我的/data控制器。在create方法中,我有这段代码:
定义创建
@data = Data.new(params[:data])
@data.user_id = current_user.id
respond_to 做 |格式|
如果@data.save
@doc = Doc.find_or_create_by_id(params[:doc])
@doc.save
@site = Site.new(params[:site])
@site.doc_id = @doc.id
@site.save
format.html //东西
format.json //东西
format.js //东西
结尾
结尾
我很好奇我是否正确地解决了这个问题。对于像我这样的相关对象,控制器似乎很“重”。
这个问题还有其他解决方案吗?
编辑:
数据模型:
类数据 属于_to :site, :polymorphic => true 属于_to:用户 结尾