開発時に猛烈にはまってしまったので自戒のために残します。
発生したエラー
ArgumentError (wrong number of arguments (given 0, expected 1+)):
原因
コーディングミス。
included
と記述するべき箇所を、include
と書いてしまっているため。
デバッグ
binding.pry
でデバッグを行う。
デバッグ結果
From: /home/vagrant/hoge/app/controllers/concerns/edit_bases.rb @ line 7 : 2: include ApplicationHelper 3: include MoveOrder 4: # extend ActiveSupport::Concern 5: binding.pry 6: => 7: include do 8: before_action :set_class_names 9: before_action :new_obj, only: %i[index new] 10: before_action :set_list, only: %i[index new edit create] 11: before_action :set_obj, only: %i[edit update destroy] 12: before_action :set_order_move, only: %i[move_higher move_lower] 5.1.1@2.4.1 (EditBases)> 5.1.1@2.4.1 (EditBases)> 5.1.1@2.4.1 (EditBases)> 5.1.1@2.4.1 (EditBases)> 5.1.1@2.4.1 (EditBases)> 5.1.1@2.4.1 (EditBases)> exit ArgumentError (wrong number of arguments (given 0, expected 1+)):
今日の学び
エラーメッセージは事実。絶対正しい。
きちんとエラーメッセージの内容を読むこと!
猛省。。。