2017-08-24 7 views
-2

My Itemsコントローラは最近までちょうど正常に機能していました。私は新しいアイテムを作成し、ArgumentError in ItemsController#create wrong number of arguments (given 4, expected 2)を取得します。 build(item_params)突然動作しなくなりましたか?他のコントローラでも動作します。.permitが9つの引数を取っているときに#createに "ArgumentError(given 4、expected 2)"が表示されるのはなぜですか?

class ItemsController < ApplicationController 
    def create 
    @item = current_user.owned_items.build(item_params) 
    respond_to do |format| 
     if @item.save 
     format.html { redirect_to root_path, notice: "Thanks! You will be notified when your submission is approved." } 
     format.json { render :index, status: :created, location: @item } 
     else 
     format.html { render :new } 
     format.json { render json: @item.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    private 
    def item_params 
    params.require(:item).permit(:image, :artist, :title, :medium, :year, :price, :length, :height, :width) 
    end 
end 
+0

ok nevermind。これは私のCarrierWave :: MiniMagickファイルのプロセスに加えた変更が原因です。私は 'resize_to_limit'に4つの引数を取っていましたが、それは2つしかかかりません。 – sabaeus

+2

あなた自身の質問を見つけたら、答えを投稿するか閉じることができますが、開いたままにする必要はありません。 –

+0

@maxpleanerサイトで自分の答えを受け入れることができます。閉鎖のオプションは「正しい」ものではありません。あまりにも幅広くない、重複していない、作業コードの例が含まれている、それは不明確ではない、意見に基づいていない。誰でも下落した人がそれを元に戻すことができれば、それは大いに感謝するだろう。 – sabaeus

答えて

0

これは、私がCarrierWave :: MiniMagickファイルのプロセスを変更したことが原因です。私は4つの議論を取ってresize_to_limitを持っていましたが、それは2回しかかかりません。

関連する問題