J'ai créé un modèle avec une chaîne primary_key.RoR: Création d'un objet avec chaîne primary_key (erreur associée: Impossible de trouver Object_Id avec ID = 0)
L'action Créer en Ruby on Rails m'a donné l'erreur suivante:
Couldn't find Theme with ID=0
Ma table thématique n'a pas de colonne d'identité, mais une colonne de chaîne nom appelé qui est la clé primaire. Après une recherche partout, je me suis expérimenté avec l'action Create dans le theme_controller.
Au départ, il était:
def create @theme = Theme.new(params[:theme]) respond_to do |format| if @theme.save ....
paramètre: nom était en cours correctement passé, mais n'a pas été utilisé, il a été remplacé par un identifiant que mon modèle n'a pas.
La solution consistait à insérer la ligne suivante pour forcer RoR à prendre le nom dans l'objet.
def create @theme = Theme.new(params[:theme]) @theme.name = params[:theme][:name] respond_to do |format| if @theme.save ....
Entré par ce même problème aujourd'hui dans un autre projet. A utilisé set_primary_key et: id => false. Le résultat était le même, et la solution était la même. Je n'ai pas testé votre lien car la solution proposée est beaucoup plus complexe. – chech