エラー内容について解消法を備忘しておきます。
ArgumentError in NotesController#create
wrong number of arguments (given 4, expected 1..2)
extend ActiveHash::Associations::ActiveRecordExtensions
belongs_to :weather, :usage_type, :taking_medicine, :bathing #この箇所でエラー色に
解説
このエラーは、ActiveHashとActiveRecordを組み合わせて使用しているときに発生するエラーです。
エラーメッセージによると、引数に4つの値が渡されたため、予想されている1〜2つの引数の範囲を超えているよと注意されている模様。
詳細解説:
今回の場合、belongs_toメソッドは、通常、1つまたは2つの引数を受け取ります。最初の引数は関連するモデルの名前であり、2番目の引数はオプションであり、関連付けの設定を構成するために使用できます。しかし、このエラーの場合、4つの引数が渡されたため、belongs_toメソッドが期待する引数の範囲を超えてしまっています。
つまり、エラーメッセージは、ActiveHashのbelongs_toメソッドが、引数に対して受け入れ可能な範囲よりも多くの値が渡されたことを示しています。そのため、予想されている1〜2つの引数の範囲を超えているというエラーメッセージが表示されます。
綺麗にまとめたいと思いこの記述をしたものの、
:belongs_toを使用する際には、引数は一つだけである必要となりうっかりしていました。
よって下記のように修正。
ActiveHash::Associations::ActiveRecordExtensions
belongs_to :weather
belongs_to :usage_type
belongs_to :taking_medicine
belongs_to :bathing
上記で
無事に解決しました。