2013-09-25 3 views
0

У нас есть Questions и Answers, и каждый вопрос has_many :answers и те ответы belongs_to :questions.Rails .count action со специфическим: id

Я хочу показать ТЕКУЩИЙ счет ответов на ТЕКУЩИЙ вопрос.

я пытался в моем Answers_Controller:

def show 
    @question = Question.find(params[:question_id]) 
    @answers_count = @question.answers.count 
end 

, а затем призвал мой взгляд <%= @answers_count %>.

Но я думаю, что у меня что-то отсутствует, потому что ничего не отображается.

ответ

1

я узнал, что мне не нужно называть тех, кто в моем контроллере, я вместо этого можно просто позвонить

<%= @question.answers.count %> 
0

Попробуйте изменить:

@answers_count = Question.answers.count 

к:

@answers_count = @question.answers.count 

Вы найти конкретный вопрос в вашей первой линии и присваиваем его @question, но не запрашивая этот конкретный вопрос (с использованием Вопрос вместо @question)

Также изучите различия между count и size, чтобы убедиться, что вы не запрашиваете th е DB больше, чем вы должны - это хорошая дискуссия: ActiveRecord: size vs count

+0

Да мысль что и изменил это уже :(но ничего. –

+0

Найденный, я могу позвонить напрямую @ question.answers.count. По какой-то причине в прошлом это не сработало, и apraach в моем Вопросе работал. Теперь это работает просто так. –

Смежные вопросы