2017-02-15 2 views
-2

제품 저장 직후 연관 이미지를 배치 한 후 레일즈는 nil 클래스의 메소드 [[]]에 대해 뱉어냅니다 : NilClass, 만든?레일즈 정의되지 않은 메소드`[] 'for nil : 연관성에 대한 NilClass

def create 

    @product = current_square.products.build(params[:product]) 
    @images = @product.images.build 
    respond_to do |format| 
    format.html do 
     if @product.save 
     params[:images]['ifoto'].each do |a| 
      @images = @product.images.create!(:ifoto => a) 
     end 
     end 
    end 
    end 

end 
+0

뭔가 여기 들여 쓰기에 일어났다. 배송 중에 손상 되었습니까? 배송 중 – tadman

+0

@ tadman? – japalow

+0

이것은 아마도 nil 일 것입니다 :'params [: images]'params를보고 거기에있는 것을보십시오. – Swards

답변

-1

이 주제에 대한 두 번째 질문입니다. 절약 협회에 대한 몇 가지 자습서를 읽어 보시기 바랍니다 :

http://www.railscook.com/recipes/multiple-files-upload-with-nested-resource-using-paperclip-in-rails/

또는

http://www.discretelogix.com/blog/ruby-rails/uploading-multiple-files-with-carrierwave-in-rails-4

귀하의 방법은 아마 다음과 같아야합니다

def create 
    @product = current_square.products.build(params[:product]) 

    respond_to do |format| 
    format.html do 
     if @product.save 
     if params[:images] && params[:images]['ifoto'] 
      params[:images]['ifoto'].each do |foto| 
      @images = @product.images.create!(ifoto: foto) 
     end 
     end 
    end 
    end 
end