這裏發生了什麼?我正嘗試通過帶有JSON數據類型的ajax調用來添加數據。但每次嘗試添加數據時,都會顯示圖像中顯示的錯誤。棄用警告:before_filter已棄用,並將在Rails 5.1中刪除。使用before_action而不是
我認爲它總是響應html格式,但不以JSON格式響應。
def new
@batch = Batch.new
respond_to do |format|
format.json
format.html
end
end
def create
@batch = Batch.new(batch_param)
puts "/n/n/n/n name: #{@batch.name} /n/n/n/n"
respond_to do |format|
if @batch.save
format.json { render json: @batch, status: :created, location: @batch }
format.html { redirect_to @batch, notice: "Save process completed!" }
else
format.html {
flash.now[:notice]="Save proccess coudn't be completed!"
render :new
}
format.json { render json: @batch.errors, status: :unprocessable_entity}
end
end
end
的行動之前(以前過濾器)應靠近你的控制器頂部加以說明。因爲它在「之前」,所以你的行爲代碼沒有用,如果你有一行或多行說「before_filter .....」,只需將它改爲「before_action」即可。厚臉皮的代碼甚至可能在您的ApplicationController中。 –
只需使用查找和替換工具,並用'before_action'替換'before_filter'。免費的Atom文本編輯器有一個相當不錯的查找和替換工程,在您的整個項目目錄中。否則,你可以使用grep'grep -rl before_filter app/controllers | xargs sed -i's/before_filter/before_action/g'' – max