Ich mache eine Frage und antworte Anwendung auf Rails. Wie erstelle ich eine Seite, die alle Fragen auflistet und die letzte Antwort auf die Frage direkt darunter anzeigt?Iterieren durch die Tabelle und erhalten das letzte Element jedes Objekts in Rails
Dies ist meine Antworten Controller:
class AnswersController < ApplicationController
def index
@questions = Question.all
end
end
Frage und Antwort-Modelle:
class Answer < ActiveRecord::Base
belongs_to :question
end
class Question < ActiveRecord::Base
has_many :answers, dependent: :destroy
end
Index Ansicht:
<% if @questions.blank? %>
<p>No questions to display</p>
<% else %>
<% @questions.each do |question| %>
<h2><%= question.title %></h2>
<!-- This is where the answer should appear.
It should be the last answer in the question. -->
<% end %>
<% end %>
ich den Titel bekam zu erscheinen, kann aber nicht bekommen der Körper zu arbeiten.
Es tut mir leid für den schlechten Titel, aber SO erlaubte mir nicht, "Frage" im Titel zu schreiben.
Vielen Dank!
Danke, aber es hat nicht funktioniert. Es gibt mir diesen Fehler: SQLite3 :: SQLException: keine solche Spalte: answers.question_id: SELECT "Antworten". * FROM "Antworten" WHERE "Antworten". "Question_id" =? ORDER BY "Antworten". "ID" DESC LIMIT 1 –
Haben Sie den Fremdschlüssel "question_id" in der Tabelle "Antworten"? – dp7
Ja! Das war das Problem. Ich hatte die Migration bereits ohne die Referenzen erstellt. Danke vielmals! Entschuldigung für die späte Antwort. –