2011-03-02 76 views
1

我使用vote_fu插件来照顾一些超级简单的投票。我拥有的是一个链接,因为我的投票权,以及一个用户作为我的选民。Rails 3 - vote_fu - link_to投票?

我已经成功地为我的控制台中的链接投票。

我一直在努力的是在视图中渲染它。

在我的链路控制器,我有以下方法:

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

您必须添加一个路由,你的方法 - 是这样的:

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

然后你可以使用

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