Ich erhalte einen ActiveRecord :: AssociationTypeMismatch Fehler beim Versuch, einen Datensatz zu übermitteln.Ruby on Rails: ActiveRecord :: AssociationTypeMismatch
Gegenstand (# 88982676) erwartet, bekam String (# 20223000)
Ausblick:
<%= f.collection_select :subject, Subject.order(:subject), :subject, :subject, {prompt: "Select a subject"}, {class: "form-control"} %>
Controller:
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
Modell: Homework.rb
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
Diese Anwendung zu arbeiten, aber tut plötzlich nicht mehr. Ich habe den Namen der Tabelle in "Betreff" geändert und die Ansichten und den Controller entsprechend geändert. Es scheint jetzt nach ID zu suchen? Betreff ist eine Zeichenfolge. Irgendein Rat? Vielen Dank.