1

我安装了 gem 'thumbs_up', '~> 0.6.7' 按照说明运行了必要的迁移,现在有一些问题让它正常运行。感谢您对我的包容,因为我是 RoR 的新手。我正在运行rails 4.0.0。并构建一个简单的应用程序,用户可以在其中上传图像(图钉),我希望其他用户对图像进行投票。我遇到的问题是登录用户只能对自己的图像进行投票,而不能对其他图像进行投票。此外,一旦在视图中单击 vote_up 或 vote_against 它什么也不做,但是投票正在被统计,但页面和 flash 通知都没有被呈现。

这是我的模型/users.rb:

class User < ActiveRecord::Base
  # some devise stuff here...
  acts_as_voter
end

模型/pins.rb:

class Pin < ActiveRecord::Base
acts_as_voteable
end

我的pins_controller:

def vote_up
    @pin = Pin.find(params[:id])
    current_user.vote_for(@pin)
    pin.update_vote_count
    render root_path
    flash[:success] = " You voted Up."
    respond_to do |format|
    format.js
  end
end

def vote_down
    @pin = Pin.find(params[:id])
    current_user.vote_against(@pin)
    @pin.update_vote_count
    respond_to do |format|
    format.js
    redirect_to pins_url, notice: 'You voted Down'
  end
end

这是我的看法:

 <strong><%= pin.plusminus %></strong><br/>
          <%= link_to "Up Vote", vote_up_pin_path(pin), :method => :post, :remote => true, :class=>'up-vote' %> |
          <%= link_to "Down Vote", vote_down_pin_path(pin), :method => :post, :remote => true, :class=>'down-vote' %>

这是我的 routes.rb:

resources :pins do
member do
  post :vote_up
  post :vote_down
  post :unvote
  end
end

任何帮助将不胜感激,在此先感谢!

4

1 回答 1

0

解决了我的问题。这是一个新手错误,因为任何用户都可以看到投票选项,我将结束标签放在我认为投票的选项之后。

于 2013-10-16T18:34:45.140 回答