У меня есть драгоценный камень Thumbs_Up, и голосование работает нормально.Ruby On Rails: Thumbs Up Результаты подсчета голосов
Я добавил этот код в контроллер сообщений:
def poll_winners
@posts = Post.tally(
{ :at_least => 1,
:limit => 20,
:order => 'vote_count desc'
})
Я просто не могу понять, что ставить в действительном зрения, чтобы получить его, чтобы отобразить.
Это просто <% poll_winners %>
?
EDIT2: Вот полное сообщение об ошибке:
undefined local variable or method `poll_winners' for #<#<Class:0x000000040a4278>:0x007f55806c3360>
* EDIT * Вот мой полный контроллер сообщений (не уверен, если это правильно):
class PostsController < InheritedResources::Base
def vote_up
begin
current_user.vote_for(@post = Post.find(params[:id]))
redirect_to [@post]
flash[:success] = "You have voted successfully"
rescue ActiveRecord::RecordInvalid
redirect_to [@post]
flash[:error] = "You have already voted"
end
end
def poll_winners
@posts = Post.tally(
{ :at_least => 1,
:at_most => 10000,
:limit => 10,
:order => 'vote_count desc'
})
end
end
Теперь я получаю «неопределенные локальные переменные poll_winners» Это сообщение контроллер правильно? класс PostsController 1, : at_most => 10000, : limit => 10, : order => 'vote_count desc' }) end end –
Это полное сообщение: неопределенная локальная переменная или метод 'poll_winners 'для # <# <Класс: 0x000000040a4278>: 0x007f55806c3360> –
Пожалуйста, переместите метод' poll_winners' от контроллера к помощнику. В папке помощников вы должны иметь файл 'post_helper.rb'. –