2013-07-16 70 views
0

我有兩個模型:照片和產品。這些通過has_many關聯並嵌套在。繞過編輯方法的導軌

在我的產品控制器中的「創建」操作中,我將用戶上傳的所有未鏈接到產品的照片關聯起來。 (我這樣做是因爲照片是通過ajax添加的)。

現在在編輯頁面。我想添加照片。這將需要我將照片鏈接到產品。在創建操作之前,我已經這麼做了。但正如你在Rails中所知道的那樣,並沒有真正的編輯動作。正因爲如此,在我的產品控制器中無處可見,我加入了這兩者。

那麼,我該如何解決這個問題?

P.S.我不能加入兩人在照片控制器,你問之前

產品控制器

def new 
    Photo.where(:product_id => nil, :user_id => current_user).delete_all 
    @product = Product.new 
    @photo = Photo.new 
    end 

    def create 
    binding.pry 
    @product = current_user.products.create(params[:product]) 
    if @product.save 
     Photo.where(:product_id => nil, :user_id => current_user).update_all(:product_id => @product.id) 
     render "show", notice: "Product created!" 
    else 
     render "new", error: "Error submitting product" 
    end 
    end 

    def edit 
    @product = Product.find(params[:id]) 
    @photo = Photo.new 
    end 

照片控制器

def create 
    @photo = Photo.new(params[:photo]) 
    respond_to do |format| 
     @photo.user_id = current_user.id 
     if @photo.save 
     format.html { 
      render :json => [@photo.to_jq_image].to_json, 
      :content_type => 'text/html', 
      :layout => false 
     } 
     format.json { render json: {files: [@photo.to_jq_image]}, status: :created, location: @photo } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @photo.errors, status: :unprocessable_entity } 
     end 
    end 
    end 
+0

你在說什麼,「沒有真正的編輯行動」? – sevenseacat

+0

因爲編輯操作僅用於視圖。有沒有一種方法(我知道)像創建編輯 –

+3

你的意思是更新? :/ – sevenseacat

回答

0

,如果你使用的腳手架它可以幫助至少觀察一次典型的軌道控制器。我會注意生成的方法。

2

有針對

def update 
end 

的方法存在