Railsで、
Lesson(#70327889938700) expected, got "XXX" which is an instance of String(#70327824924120)
というエラーが起きております。
modelは、
class History < ApplicationRecord belongs_to :lesson, foreign_key: :lesson, primary_key: :lesson end
class Lesson < ApplicationRecord has_many :histories, foreign_key: :lesson, primary_key: :lesson end
としていて、DBの紐付けを行なっています。
histories テーブルは
create_table :histories do |t| t.date :date t.string :lesson t.string :category t.string :level t.timestamps
lessons テーブルは
create_table :lessons do |t| t.string :lesson t.string :category t.string :level t.timestamps end
です。
今回エラーが起きているのは、
histories.controllerの@history = History.new(history_params)という部分です。
def create @history = History.new(history_params) if @history.save redirect_to histories_path else render :new end end
ちなみにhistory_paramsはこちらです。
def history_params params.require(:history).permit( :date, :lesson, :category, :level ) end
紐付けをするようにしてからこのエラーが出るようになったので、
紐付けが原因と思ってますが、これはどうやって解消すれば良いのでしょうか。
どうぞよろしくお願いいたしますm(_ _)m