2017-02-13 2 views
1

Ich habe 2 Klassen feed.rb und ad.rb Ad has_many-Feed -Feed belongs_to Adrails5 mongoid belongs_to/has_many Daten Mitglied existiert nicht

class Feed 
    include Mongoid::Document 
    belongs_to :ad , optional: true 

    before_save :generate_timestamp 
    validates_presence_of :name 

    field :name, type: String 
    field :insertdate, type: DateTime 
    field :addata, type: Hash 

    def generate_timestamp 
    self.insertdate = DateTime.now 
    end 
end 

class Ad 
    include Mongoid::Document 
    has_many :feed 

    before_save :generate_timestamp 
    validates_presence_of :name 

    field :name, type: String 
    field :insertdate, type: DateTime 
    field :creative, type: String 

    def generate_timestamp 
    self.insertdate = DateTime.now 
    end 
end 

In der Steuerung speichern sie die Anzeige als neues Objekt mit Liste der Feeds

def addad 
    @feeds = Feed.all 
    if request.post? 
     ad = Ad.new 
     ad.name = params['name'] 
     ad.creative = params['creative'] 
     ad.feed << @feeds 
     render plain: ad.inspect 
     ad.save 
    end 
end 

Wenn ich die DB überprüfen und ausdrucken ad Objekt gibt es kein Feed-Attribut

#<Ad _id: 58a11ef023040c07963ef885, name: "this is testing", insertdate: nil, creative: "Sample"> 

Gibt es etwas, das ich vermisst habe?

Danke.

Antwort

0

Wenn Sie mogodb (mogoid) sind, dann müssen Sie Verband in unterschiedliche Weise wie unten näher

Klasse Artikel umfassen Mongoid :: Document Feld: Name Feld: Inhalt Feld: published_on ,: type => Datum validates_presence_of: name embeds_many: Kommentare referenced_in: Autor Ende

bitte dachte diesen Link für ein besseres Verständnis http://railscasts.com/episodes/238-mongoid

+0

Danke für die Antwort gehen Allerdings habe ich nicht embedded_in verwende ich belongs_to, has_many, also brechen in zwei Sammlungen verwenden, werde – Wahbigbig

+0

Ok es hat, versuchen Sie diese . ** Klasse-Feed umfassen Mongoid :: Dokument belongs_to: ad Ende ** ** Klasse Ad umfassen Mongoid :: Document has_many: Feeds Ende ** auch versuchen diese. ** Klasse-Feed umfassen Mongoid :: Document has_and_belongs_to_many: Anzeigen Ende ** ** Klasse Ad umfassen Mongoid :: Dokument has_and_belongs_to_many: Feeds Ende ** –

+0

Dank ich es gelöst und das Verfahren wie Ihre zweite – Wahbigbig