2016-04-07 29 views
0

'daki her bir nesnenin son elemanını alın. Rails hakkında bir soru sorup yanıtlama uygulaması yapıyorum. Tüm soruları listeleyen ve hemen altındaki soruya verilen son cevabı gösteren bir sayfayı nasıl oluşturabilirim?Tablodan geçiş yapın ve Rails

Bu benim cevaplar denetleyicisi geçerli:

class AnswersController < ApplicationController 
    def index 
     @questions = Question.all 
    end 
end 

Soru ve cevap modeller:

Endeksi görünümü
class Answer < ActiveRecord::Base 
    belongs_to :question 
end 

class Question < ActiveRecord::Base 
    has_many :answers, dependent: :destroy 
end 

: Ben görünmesini başlık var ama alamıyorum

<% 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 %> 

çalışmak için vücut.

Kötü başlık için özür dilerim ama SO başlıkta "soru" yazmama izin vermedi.

Teşekkür ederiz!

cevap

1

Sen bu-

<% 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. --> 
    <%= question.answers.last %> 
    <% end %> 
<% end %> 
+0

teşekkür ederiz deneyebilirsiniz ama işe yaramadı. Bana bu hatayı veriyor: SQLite3 :: SQLException: böyle bir sütun yok: answers.question_id: "yanıtları" SEÇİN. * "Cevaplar" NEREDEN "yanıtlar". "Question_id" =? SIRALAMA "SIRALAMA". "Id" DESC SINIRI 1 –

+0

"Soruları" tablosunda "question_id" yabancı anahtarınız var mı? – dp7

+0

Evet! Sorun buydu. Göçleri referanslar olmadan zaten oluşturmuştum. Çok teşekkürler! Geç cevap verdiğim için özür dilerim. –

İlgili konular