从我的客户,我正在发送一个与其他对象相关的对象:
变量数据 = { “评论”: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:用户 结尾