かなり初心者的ミスをしたので備忘録。
Railsのコントローラでsendメソッドを定義すると以下のエラーが発生します。
wrong number of arguments (1 for 0)
トレースを追うとこんな感じ。
app/controllers/home_controller.rb:6:in `send'
activesupport (5.0.1) lib/active_support/callbacks.rb:90:in `run_callbacks'
actionpack (5.0.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (5.0.1) lib/action_controller/metal/rescue.rb:20:in `process_action'
run_callbackでObject#sendメソッドを呼び出していて、Object#sendをオーバーライドしたのが原因。
def run_callbacks(kind, &block)
send "_run_#{kind}_callbacks", &block
end
なんて初歩的な…orz