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