Rails 3 - vote_fu - link_to投票?

时间:2011-03-02 09:37:16

标签: ruby-on-rails ruby-on-rails-3 plugins

我正在使用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>

所以这条路(我觉得)我一直在修补,没有成功。我想也许这是我的路线,但我不确定为vote_fu添加了什么。这是我的routes.rb内容:

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

无论如何,我想知道是否有人通过vote_fu成功实施了一个简单的投票解决方案,这可能会让我指出我做错了什么。我知道插件正在运行,因为控制台很好,但我的控制器/视图/路由必须弄乱。

由于

1 个答案:

答案 0 :(得分:1)

您必须为您的方法添加路线 - 如下所示:

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

然后你可以使用

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