J'ai essayé de googler cette erreur, mais en vain. J'ai actuellement ces modèlesMéthode non définie lors de l'accès via l'association et la constante non initialisée lors de la tentative de destruction avec: dependent =>: destroy
app/modèles/survey.rb
class Survey < ActiveRecord::Base
belongs_to :user
has_attached_file :original, :default_url => "/public/:class/:attachment/:basename.:extension"
has_many :sub_surveys, :dependent => :destroy
end
app/modèles/sub_survey.rb
class SubSurvey < ActiveRecord::Base
belongs_to :survey
has_many :questions, :dependent => :destroy
end
app/modèles/question.rb
class Question < ActiveRecord::Base
belongs_to :sub_survey
validates_presence_of :sub_survey
acts_as_list :scope => :sub_survey
#after_destroy :destroy_orphaned_choices
has_many :answers, :dependent => :destroy
has_many :choices, :dependent => :destroy
end
app/models/choice.rb
class Choices < ActiveRecord::Base
belongs_to :question
validates_presence_of :question
end
app/modèles/answer.rb
class Answer < ActiveRecord::Base
belongs_to :question
belongs_to :user
belongs_to :game
validates_uniqueness_of :question_id, :scope => [:user_id, :game_id]
end
Maintenant, lorsque je tente de détruire une enquête, je reçois une erreur
uninitialized constant Question::Choice
que des traces à travers/fournisseur/rails/actif * choses après le survey.destroy
Puis, quand je tente d'accéder à des choix de question.Choices, je reçois une erreur
undefined method `Choices' for #<Question:0xb7224f2c>
qui, pour une raison quelconque a cette au-dessus de la trace pile
vendor/rails/activerecord/lib/active_record/attribute_methods.rb:256:in `method_missing'
vendor/plugins/attribute_fu/lib/attribute_fu/associations.rb:28:in `method_missing'
app/views/answers/_answer.html.erb:7:in `_run_erb_47app47views47answers47_answer46html46erb'
Je n'utilise attribute_fu lors de l'importation des enquêtes en format XML, mais je ne sais pas pourquoi la trace de question.Choices a. J'ai également essayé de renommer les choix pour choisir des alternatives, mais cela n'a pas eu d'effet.
Des idées?
Ah ça a marché! Merci beaucoup! Je vais essayer de garder cela à l'esprit. –