2016-04-08 14 views
0

Bir gönderi modeli üzerinde yinelemeye çalışıyorum ve kullanıcıya sadece gönderilmekte olan kullanıcıya gösteriyorum.Reputation-system get upvoted itemler olsun

def vote 
    value = params[:type] == "Vote" ? 1 : 0 
@post = Post.find(params[:id]) 
@post.add_or_update_evaluation(:votes, value, current_user) 
redirect_to :back 
    end 


def index 
    @posts = Post.where(current_user.id).find_with_reputation(:votes, value: 1.0).paginate(page: params[:page], per_page: 22) 

end 

<ul> 
<% @posts.each do |post| %> 
<li><span><%= link_to post.author.name, author_path(author.id)%></span></li> 
<li><span><%= link_to post.title post_path(post.id) %></span></li> 
<li><p><%= post.body %></p></li> 
<li><%= post.created_at %></li> 
    </ul> 

ama Bilinmeyen anahtar saçıyor raylar: dokümanlar üzerinde görünüyor yolu budur değeri. birinin bunun için bir ipucu var mı? teşekkür adlı

muhtemelen demek bu yüzden find_with_reputation içinde
+0

Eğer ([twitter itibar sistemi] kullanıyorsunuz https://github.com/twitter/activerecord-reputation-system/ wiki/bul-ile-İtibar)? Eğer durum buysa, '' value' seçeneğini göremiyorum. –

+0

thank adlı kullanıcının yanıtı @RodrigoMartinez, yes kullanıyorum ve buluyorum: oy, değer? add_or_update_evaluation (: oy, değer, geçerli_kullanıcı) value = params [: type] – dcalixto

+0

Üzgünüm ama son yorumunuzu anlamadım. [Add_or_update_evaluation] (https://github.com/twitter/activerecord-reputation-system/wiki/Evaluate-Models) adresinde, sözdiziminiz, ': votes' ünün adıysa doğru olur, ancak bu, sorduğunuz kodun içinde yer almaz , sağ? –

cevap

1

2 parametre kapsamı ya: find_with_reputation(:votes, :all, {:conditions => ["votes = ?", value]}) veya find_with_reputation(:votes, :all, {:conditions => ["votes = ?", 1.0]})