Ceci est mon modèle d'action:résultats du modèle sous-classé dans NameError dans l'environnement de développement, mais pas dans le test
class Action < ActiveRecord::Base
end
class Fold < Action
end
class Check < Action
end
class Call < Action
end
class Bet < Action
end
Dans un autre modèle, j'ai ce
class Deal < ActiveRecord::Base
def Deal.parse_action(action_string)
case action_string
when "folds": Fold.new()
when "checks": Check.new()
when "calls": Call.new()
when "bets": Bet.new()
when "raises": Bet.new()
else nil
end
end
# ...
end
Maintenant, quand je teste ce si cela travaille dans mes tests unitaires, tout semble fonctionner. Mais dès que je lance le serveur Web en mode développement, je reçois ceci:
NameError (uninitialized constant Deal::Fold): app/models/deal.rb:115:in `parse_action' ...
Pourquoi faut-il penser existe Fold au sein de l'espace de noms Deal? Et pourquoi cela ne se produit-il pas dans l'environnement de test?
Cela a fonctionné pour moi. Je dois juste "require" action.rb "'dans le modèle Deal. – KaptajnKold