2016-04-08 10 views
0

Ich versuche, über ein Post-Modell zu iterieren und dem Benutzer nur die upvoted gepostet anzuzeigen. die Art und Weise, die auf docs scheint, ist dies:Reputation-System bekommen upvoted Artikel

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> 

aber Schienen ist nicht bekannt Schlüssel auszuspucken: Wert. hat jemand einen Tipp dafür? danken der

+0

Sind Sie [twitter Ruf-System] mit (https://github.com/twitter/activerecord-reputation-system/ Wiki/Finden-mit-Reputation)? Wenn das der Fall ist, sehe ich keine Option ': value'. –

+0

Danke für Ihre Antwort @RodrigoMartinez, ja ich benutze und über: Stimmen, Wert? add_or_update_evaluation (: votes, value, current_user) Wert = Parameter [: Typ] – dcalixto

+0

Sorry, aber ich habe Ihren letzten Kommentar nicht verstanden. Auf [add_or_update_evaluation] (https://github.com/twitter/activerecord-reputation-system/wiki/Evaluate-Models) scheint Ihre Syntax korrekt zu sein, wenn ': votes' der Name der Reputation ist, aber das ist nicht in dem Code der Frage, den Sie gepostet haben , Recht? –

Antwort

1

2. Parameter in find_with_reputation ist Umfang, so dass Sie wahrscheinlich entweder bedeuten: find_with_reputation(:votes, :all, {:conditions => ["votes = ?", value]}) oder find_with_reputation(:votes, :all, {:conditions => ["votes = ?", 1.0]})

Verwandte Themen