声誉系统得到了投票

时间:2016-04-08 17:16:44

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我正在尝试迭代一个帖子模型,并向用户显示已经发布的upvoted。 文档中出现的方式是:

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>

但是rails正在吐出未知密钥:值。有人对此有任何提示吗? 感谢的

1 个答案:

答案 0 :(得分:1)

find_with_reputation中的第二个参数是范围,因此您可能意味着:find_with_reputation(:votes, :all, {:conditions => ["votes = ?", value]})find_with_reputation(:votes, :all, {:conditions => ["votes = ?", 1.0]})