我正在尝试迭代一个帖子模型,并向用户显示已经发布的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正在吐出未知密钥:值。有人对此有任何提示吗? 感谢的
答案 0 :(得分:1)
find_with_reputation中的第二个参数是范围,因此您可能意味着:find_with_reputation(:votes, :all, {:conditions => ["votes = ?", value]})
或
find_with_reputation(:votes, :all, {:conditions => ["votes = ?", 1.0]})