【发布时间】:2014-08-15 21:39:21
【问题描述】:
我正在使用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
任何帮助将不胜感激。如果您希望我在上面添加任何代码,也请告诉我。
编辑这里是 gem https://github.com/ryanto/acts_as_votable的链接
【问题讨论】:
-
post.voters工作吗? -
@JoeKennedy 恐怕不会。我得到未定义的方法选民。
标签: ruby-on-rails