Ich habe das Kommentar-Modell, das zu einigen anderen Modellen wie Post, Seite usw. und has_one gehört (oder gehört zu?) Benutzermodell. Aber ich muss den User auch kommentieren, also muss der User viele Kommentare von anderen Usern haben (das ist polymorph: kommentierbare Assoziation) und er muss seine eigenen Kommentare haben, die von ihm geschrieben wurden. Was ist der beste Weg, um eine Assoziation so zu machen? Wie kann ich Kommentare für Benutzer in einem Controller lesen und erstellen, wenn der Benutzer zwei verschiedene Verknüpfungen mit Kommentaren hat? Jetzt mache ich das und es ist nicht richtig, ich denke:Rails polymorphe Assoziation und has_many für das gleiche Modell
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :comments, as: :commentable
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :commentable, polymorphic: true
belongs_to :user
end
class CreateComments < ActiveRecord::Migration
def change
create_table :comments do |t|
t.text :content
t.references :commentable, polymorphic: true, index: true
t.belongs_to :user
t.timestamps null: false
end
end
end