Je suis face à l'erreur suivante:Rails actifs Nom Erreur enregistrement
NameError at
uninitialized constant XController::Sheep
à cette ligne
server = Sheep.find_by_id(id)
Voici ma configuration:
Sous models/sheep.rb
class Sheep < ActiveRecord::Base
has_many :kids
end
Sous models/kid.rb
class Kid < ActiveRecord::Base
belongs_to :sheep # I tried adding , :class_name => 'Sheep' didn't do anything
end
Sous config/initializers/inflections.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.uncountable 'sheep'
end
Le nom de la table est en fait sheep
j'ai vérifié
Que dois-je vérifier?
EDIT: Dans le contrôleur controllers/farm.rb
je fais deux appels:
@kid = Kid.find_by_id params[:id]
@sheep = Sheep.find_by_id(id) # works only when adding :: as in the answer
Dans quel fichier appelez-vous 'Sheep.find_by_id (id)'? Pouvez-vous essayer d'utiliser ':: Sheep.find_by_id (id)' à la place? – MrYoshiji
cela a fonctionné! mais comment se fait-il que je puisse référencer d'autres modèles avec juste les paramètres de Kid.find_by_name [: name] sans avoir besoin de ::? (même contrôleur aussi) – nevermind
Je ne sais pas, vous n'avez pas répondu à la première question donc je ne peux pas vous aider ... – MrYoshiji