2017-02-15 3 views
-2

製品を保存した直後に関連付け画像を配置した後、レールはnilのメソッド[[]]について吐き出します:NilClassは、製?rails undefinedメソッド `[] '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

この件については、2番目の質問です。 関連付けを保存する方法についていくつかのチュートリアルをお読みください:

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 
関連する問題