Forum: Rails Germany Problem beim Speichern mit Polymorphe Assoziation

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
5d7c8b8f2de06c07b2bf0848d20ce71f?d=identicon&s=25 Christian Beier (cbeier)
on 2009-07-27 09:03

ich habe eine Polymorphe Assoziation zwischen dem Model "Report" und den
Models "Profile" und "Comment".

  class Report < ActiveRecord::Base
    belongs_to :reportable, :polymorphic => true

  class Profile < ActiveRecord::Base
    has_many :reports, :as => :reportable, :dependent => :destroy

  class Comment < ActiveRecord::Base
    has_many :reports, :as => :reportable, :dependent => :destroy

Beim Anlegen eines neuen Eintrags mit der Assoziation "Profile"
funktioniert alles. Nur mit der Assoziation "Comment" gibt es Probleme.
Wenn ich das erste Mal einen neuen Eintrag (mit der Assoziation Comment)
speichere, funktioniert alles (der Eintrag wird auch korrekt in der DB
gespeichert). Aber alle weiteren Versuche einen neuen Eintrag anzulegen,
schlagen fehl:
  NoMethodError (You have a nil object when you didn't expect it!
  You might have expected an instance of Array.
  The error occurred while evaluating nil.include?):
  app/controllers/reports_controller.rb:17:in `create'

  Rendered rescues/_trace (109.3ms)
  Rendered rescues/_request_and_response (0.4ms)
  Rendering rescues/layout (internal_server_error)

Mein Code an dieser Stelle (im Reports Controller)

  @comment = Comment.find(params[:comment_id])
  @report =[:report]) # Hier sitzt der

Was mich wundert ist, dass es das Problem nur mit der Assoziation
"Comment" das Problem gibt und nicht mit der Assoziation "Profil". Kann
es vielleicht sein, dass es daran liegt, das "Comment" selber eine
Polymorphe Assoziation besitzt (das ist das Plugin acts_as_commentable)?

Meine Rails Version ist die 2.3.2

This topic is locked and can not be replied to.