レコードを送信しようとすると、ActiveRecord :: AssociationTypeMismatchエラーが発生します。Ruby on Rails:ActiveRecord :: AssociationTypeMismatch
<%= f.collection_select :subject, Subject.order(:subject), :subject, :subject, {prompt: "Select a subject"}, {class: "form-control"} %>
コントローラー:
def create
@homework = current_user.homeworks.build(homework_params)
if @homework.save
redirect_to homeworks_path
else
render 'new'
end
end
...
def homework_params
params.require(:homework).permit(:subject, :description, :date, :completed_at)
end
モデル:Homework.rb
件名(#88982676)予想は、文字列(#20223000)
ビューを得ました
class Homework < ActiveRecord::Base
validates :subject, presence:true
belongs_to :subject
def completed?
!completed_at.blank?
end
end
Subject.rb
class Subject < ActiveRecord::Base
has_many :homeworks
def to_s
subject
end
end
動作するようにこれを使用突然ません。私はテーブルの名前を "件名"に変更し、それに応じてビューとコントローラを変更しました。今はIDを探しているようだ?件名は文字列です。何かアドバイス?ありがとう。