1

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

どんな助けでも大歓迎です、事前に感謝します!

4

1 に答える 1