0
从我的客户,我送这是关系到其他对象的对象:多个在轨控制器节省
var data = { "comment": result.comment, "doc": { "id": result.doc.id } "site": { "url": result.site.url } }; $.ajax({ url: '/data', type: 'POST', data: data });
这被贴到我的/data
控制器。在create
方法,我有这个代码块:
def create @data = Data.new(params[:data]) @data.user_id = current_user.id respond_to do |format| if @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 //stuff format.json //stuff format.js //stuff end end
我很好奇,如果我正确地处理这个问题。对于像我这样的相关对象,控制器似乎相当“沉重”。
有没有其他解决方案来解决这个问题呢?
编辑:
数据模型:
class Data belongs_to :site, :polymorphic => true belongs_to :user end
只是为了解释,使用create方法时记录会自动保存。 – 2012-07-25 00:41:37
@ismaelga你是什么意思? yuri&dty:感谢您的帮助! – 2012-07-25 01:47:25
@rabid_zombie在这个问题上看到答案:http://stackoverflow.com/questions/4333163/question-about-create-and-new-methods-in-activerecord-class – 2012-07-25 02:29:51