gem '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
どんな助けでも大歓迎です、事前に感謝します!