Artikel über den Controller in Rails erstellen. Eine einfache Methode, die mehr oder weniger funktioniert; nur die Methode von einem anderen Ort anrufen und es erzeugt einen neuen Artikel über das Backend und füllt die Werte:Rails: Warum kann ich ein einzelnes Datensatzattribut über Controller zu neuen Datensatz, aber nicht Array senden?
def test_create_briefing
a = Article.new
a.type_id = 27
a.status = 'published'
a.headline = 'This is a headline'
a.lede = 'Our article is about some interesting topic.'
a.body = test_article_text
a.save!
end
Wenn test_article_text
nur ein einzelner Datensatz ist, das funktioniert gut und druckt den bestehenden Artikel Körper in die neuer Artikelkörper. Sieht gut aus in der Ansicht und sieht richtig aus in "Bearbeiten". Alles perfekt.
def test_article_text
a = Article.find_by_id(181)
a.body
end
Aber wenn ich versuche, das gleiche mit den letzten zehn Artikel zu tun, funktioniert es nicht:
def test_article_text
Article.lastten.each do |a|
a.body
end
end
In der Ansicht erhalten Sie:
[#, #, #, #, #, #, #, #, #, #]
Und in "bearbeiten" Sie erhalten:
[#<Article id: 357, headline: "This is a headline", lede: "Our article is about some interesting topic.", body: "[#<Article id: 356, headline: \"This is a headline\"...", created_at: "2017-12-31 20:40:16", updated_at: "2017-12-31 20:40:16", type_id: 27, urgency: nil, main: nil, status: "published", caption: nil, source: nil, video: nil, summary: nil, summary_slug: nil, topstory: false, email_to: nil, notification_slug: nil, notification_message: nil, short_lede: nil, short_headline: nil, is_free: nil, briefing_point: nil>, #<Article id: 356, headline: "This is a headline"…etc, etc, etc.
Was mache ich nicht? t wissen? Was vermisse ich?
Um die Menschen nach unten stimmen, bitte eine Erklärung hinzufügen, was falsch ist, damit wir alle profitieren können. – Shiko
Dank @Shiko, das hat mich auf den richtigen Weg gebracht. Nahm ein bisschen mehr zwicken aber. Sehen Sie sich die Antwort an. –