我正在使用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
Iv 添加了它,以便用户是投票者并且帖子可以投票。
我还添加了缓存迁移:
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
任何帮助将不胜感激。如果您希望我在上面添加任何代码,也请告诉我。
编辑这里是 gem 的链接 https://github.com/ryanto/acts_as_votable
请您参考如下方法:
您可以使用以下代码获取该帖子的所有选民 ID 列表
@post.votes_for_ids