Ich habe versucht, diesen Fehler beharrlich zu googeln, aber ohne Erfolg. Im Moment habe ich diese ModelleNicht definierte Methode beim Zugriff durch Verknüpfung und nicht initialisierte Konstante beim Versuch, mit zu zerstören: dependent =>: destroy
app/models/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/models/sub_survey.rb
class SubSurvey < ActiveRecord::Base
belongs_to :survey
has_many :questions, :dependent => :destroy
end
app/models/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/models/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
Jetzt, wenn ich versuche, eine Umfrage zu zerstören, bekomme ich einen Fehler
uninitialized constant Question::Choice
dass Spuren durch/vendor/rails/aktiv * Sachen nach die survey.destroy
Dann, wenn ich versuche, Entscheidungen für den Zugriff auf von question.Choices, bekomme ich einen Fehler
undefined method `Choices' for #<Question:0xb7224f2c>
aus irgendeinem Grunde, das diese auf der Oberseite des Trace-Stack
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'
ich attribute_fu verwenden muss, wenn Umfragen im XML-Format zu importieren, aber ich habe keine Ahnung, warum die Spur von question.Choices hat.
Ich habe auch versucht, Wahlmöglichkeiten zu Wahlalternativen umzubenennen, aber das hatte keine Wirkung.
Irgendwelche Ideen?
Ah, das hat funktioniert! Vielen Dank! Ich werde versuchen, das im Hinterkopf zu behalten. –