用户只能在thumbs_up上对自己的上传进行投票

时间:2013-10-10 20:40:03

标签: ruby-on-rails voting voting-system

我安装了宝石'thumbs_up','〜> 0.6.7'按指令运行必要的迁移,现在遇到一些问题,使其正常运行。感谢与我的关系,因为我是RoR的新手。我正在运行rails 4.0.0。并构建一个简单的应用程序,用户上传图像(图钉),我希望其他用户投票的图像。我遇到的问题是,登录用户只能对自己的图像进行投票,而不能投票给其他人。此外,一旦在视图中单击了vote_up或vote_against,它就什么都不做,但是正在计算投票,但是页面和闪存通知都没有被渲染。

这是我的models / 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

非常感谢任何帮助,提前谢谢!

1 个答案:

答案 0 :(得分:0)

解决了我的问题。是一个新手的错误,任何用户都可以看到投票选项我把结束标记放在我的视图投票选项之后。