Rails 3 - голосование_фу - ссылка_в голосование - PullRequest
1 голос
/ 02 марта 2011

Я использую плагин Vote_fu, чтобы позаботиться о каком-то супер простом голосовании. У меня есть ссылка как мой голосующий, а пользователь - мой избиратель.

Я успешно смог проголосовать за ссылку в моей консоли.

То, с чем я борюсь, это рендеринг в виде.

В моем контроллере ссылок используется следующий метод:

def vote
@link = link.find(params[:id])
current_user.vote_up(@link)
redirect_to :back
end

Мой взгляд, с которым я поиграл, выглядит следующим образом:

  <% @links.each do |link| %>
  <div class="scoreboard">
    <%= link_to link.votes_for, :url => vote_link_path(link) %>
  </div>

Ошибка при попытке рендеринга вида:

undefined method `link_votes_path' for #<#<Class:0x00000004b29568>:0x00000004b1a6a8>

Так что это путь (я чувствую), по которому я возился безуспешно. Я подумал, что, может быть, это мои маршруты, но я не уверен, что же добавить для voice_fu. Вот мой контент route.rb:

  resources :links
  resource :users
  resource :session, :controller => "sessions"
  match '/login' => "sessions#new", :as => "login"
  match '/logout' => "sessions#destroy", :as => "logout"

Во всяком случае, мне было интересно, если кто-нибудь успешно внедрил простое решение для голосования с помощью voice_fu, которое могло бы указать мне на то, что я делаю неправильно. Я знаю, что плагин работает из-за того, что с консолью все в порядке, но мой контроллер / представление / маршруты должны быть испорчены.

Спасибо

1 Ответ

1 голос
/ 02 марта 2011

Вы должны добавить маршрут для вашего метода - что-то вроде этого:

resources :links do
  member do
    post 'vote'
  end
end

Тогда вы можете использовать

link_to "Vote", vote_link_path(link), :method => :post
...