Я пытаюсь представить простую форму с использованием рельсов.NameError, неинициализированная константа
class BibliographiesController < ApplicationController
def creer #this has been localized for create
@bibliography = Bibliography.new(bibliographie_params)
@bibliography.save
redirect_to @bibliography
end
#etc etc
private
def bibliographie_params
params.require(:bibliographie).permit(:titre, :soustitre, :auteur_un, :auteur_deux, :auteur_trois, :auteur_quatre, :genre, :recueil, :review, :revue_numero, :annee, :revue_page, :editeur, :lieu, :commentaire)
end
end
Файл миграции содержит те же поля. titre и soustitre - это строки, а auteur_un - целое число.
Когда я отправить форму, я получаю сообщение об ошибке, которое:
NameError in BibliographiesController#creer
uninitialized constant Bibliography::AuteurUn
params_hash содержит:
"bibliographie"=>{
"titre"=>"La vie urbaine à Douai au Moyen-Âge",
"soustitre"=>"rien",
"auteur_un"=>"1",
"genre"=>"source",
"recueil"=>"aucun",
"review"=>"",
"revue_numero"=>"",
"annee"=>"",
"revue_page"=>"",
"editeur"=>"",
"lieu"=>"",
"commentaire"=>""}
Это мой Библиографическая класс:
class Bibliography < ApplicationRecord
has_one :auteur_un, foreign_key: "auteurs_id"
has_one :auteur_deux, foreign_key: "auteurs_id"
has_one :auteur_trois, foreign_key: "auteurs_id"
has_one :aauteur_quatre, foreign_key: "auteurs_id"
has_one :review, foreign_key: "reviews_id"
end
Это похоже, что рельсы ожидают, что auteur_un будет классом или константой. Но я не понимаю, почему.
Благодаря
Можете ли вы изменить свой вопрос и добавить оду в свой класс 'Bibliography'? может быть, это идея оттуда? (Я догадываюсь). –