【问题标题】:Rails 3 - vote_fu - link_to vote?Rails 3 - vote_fu - link_to 投票?
【发布时间】:2011-03-02 09:37:15
【问题描述】:

我正在使用 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 成功实施了一个简单的投票解决方案,可以指出我做错了什么。我知道插件可以正常工作,因为控制台很好,但我的控制器/视图/路由必须搞砸了。

谢谢

【问题讨论】:

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


    【解决方案1】:

    你必须为你的方法添加一个路由——像这样:

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

    然后就可以使用了

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多