0

我在Rails 3.2.11中使用acts_as_votable设计gem,并且我试图自动让创建项目的用户在创建项目后对其进行投票。听起来很简单,对吧?我的控制器中有一个 vote_up 方法,我试过这个:

after_filter :vote_up, :only => :create

然而,唉,它什么也没做。我知道 vote_up 方法没有被破坏,因为无论何时从视图中调用它都可以完美运行。

有任何想法吗?

编辑:我的控制器中的 vote_up 方法:

def vote_up
  @skill_relationship = SkillRelationship.find(params[:id])

  if current_user.voted_up_on? @skill_relationship then
    @skill_relationship.unliked_by :voter => current_user
  else
    @skill_relationship.liked_by current_user
  end

  respond_to do |format|
    format.js { render :action => "vote" }
  end
end

我也可以直接在我的创建方法中运行该行@skill_relationship.unliked_by :voter => current_user或类似的东西(我也尝试过,但无济于事)。

4

1 回答 1

0

这是很久以前的,但如果其他人偶然发现它,只需在模型保存在创建操作中后添加类似这样的内容:

current_user.likes @skill_relationship
于 2014-11-17T21:58:19.497 回答