我安装了 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
任何帮助将不胜感激,在此先感谢!