前提・実現したいこと
呼出元、呼出先のメソッド双方で引数を入力しておりますが、ArgumentErrorが発生します。
hogeコントローラからhogeモデルのcreate_hogeメソッドを呼出し引数を渡します。その中でmap_hogeメソッドを呼び出し、同じ変数を引数として渡した時下記エラーが発生しました。
create_hogeメソッド内で呼び出す際引数を設定しているにもかかわらずgiven 0となるのはどういったケースが考えられますか?
またどのように検証すればよろしいでしょうか?
発生している問題・エラーメッセージ
ArgumentError in hogeController#create wrong number of arguments (given 0, expected 1)
該当のソースコード
ruby
1○hogeController.rb 2def create 3 hoge = Hoge.new 4 hoge.create_hoge([1,2,3]) 5end 6 7 8○hoge.rb 9def create_hoge(ary) 10 map_hoge(ary) 11end 12def map_hoge(ary) 13 @map_hoge ||= ary.map { |i| i + 1 } 14end
試したこと
def map_hoge(ary) byebug ary.map { |i| i + 1 } end
byebug使用しコンソール確認すると、ary引数の中身が表示でき、コンソール上でのみ続きの処理も実行できました。
補足情報(FW/ツールのバージョンなど)
Ruby on Rails 5.2.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。