繁体   English   中英

由创建它的用户自动投票[Rails 3.2.11] [acts_as_votable] [devise]

[英]Automatically vote up item by the user that created it [Rails 3.2.11] [acts_as_votable] [devise]

我正在使用acts_as_votable并在Rails 3.2.11中 设计出 gems,我试图让创建项目的用户在创建项目后自动对其进行投票。 听起来很简单,对吧? 我的控制器中有一个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或者直接在我的create方法中进行类似操作(我也曾尝试过,但无济于事)。

这是从很早以前开始的,但是如果其他人偶然发现了它,只需在将模型保存在create动作中之后添加以下内容即可:

current_user.likes @skill_relationship

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM