我正在使用acts_as_votable gem并已实现它,以便用户可以对帖子模型进行投票。我想要做的是当我显示我想列出用户投票的帖子时。我目前按以下方式显示分数:
<%= post.cached_votes_score %>
在posts / index.html.erb中这非常有用。我无法理解如何显示投票的用户。理想情况下,我想显示user.image。
以下是目前的代码:
模型/关切/ votes.rb
def up_vote
@post = find_post
@post.liked_by current_user
flash[:notice] = "Thanks for voting #{current_user.name}"
redirect_to @post
end
我添加了它,以便用户是选民,而帖子是可投票的。
我还添加了缓存迁移:
class AddCachedVotesToPosts < ActiveRecord::Migration
def self.up
add_column :posts, :cached_votes_total, :integer, :default => 0
add_column :posts, :cached_votes_score, :integer, :default => 0
add_column :posts, :cached_votes_up, :integer, :default => 0
add_column :posts, :cached_votes_down, :integer, :default => 0
add_column :posts, :cached_weighted_score, :integer, :default => 0
add_column :posts, :cached_weighted_total, :integer, :default => 0
add_column :posts, :cached_weighted_average, :float, :default => 0.0
add_index :posts, :cached_votes_total
add_index :posts, :cached_votes_score
add_index :posts, :cached_votes_up
add_index :posts, :cached_votes_down
add_index :posts, :cached_weighted_score
add_index :posts, :cached_weighted_total
add_index :posts, :cached_weighted_average
end
def self.down
remove_column :posts, :cached_votes_total
remove_column :posts, :cached_votes_score
remove_column :posts, :cached_votes_up
remove_column :posts, :cached_votes_down
remove_column :posts, :cached_weighted_score
remove_column :posts, :cached_weighted_total
remove_column :posts, :cached_weighted_average
end
end
非常感谢任何帮助。如果您要我添加上面的任何代码,也请告诉我。
的链接答案 0 :(得分:3)
您可以使用以下代码
获取帖子的所有选民ID列表 @post.votes_for_ids
答案 1 :(得分:-1)
您可以尝试以下代码获取用户名
@post.vote_by