【问题标题】:update attribute via link_to通过 link_to 更新属性
【发布时间】:2013-08-13 13:19:30
【问题描述】:

每次用户点击link_to时,方法都应该更新属性。积累belongs_to :user and :question

 <%= link_to "+1", controller: "/accumulations", action: "vote_up",id: @question, user_id: current_user, method: "post" %>

def vote_up
 @question = Question.find(params[:id])
 @accumulation = Accumulation.where(user_id: current_user.id, question_id: @question.id )

累积的第三个属性是点:

 @accumulation.point = Accumulation.increment_counter(:point, @accumulation)
 @accumulation.save
 redirect_to :back, notice: "+1"
end

它给了我这个信息:

#ActiveRecord::Relation:0xaa7fc10 的未定义方法 `point='

如何更新属性?

【问题讨论】:

    标签: ruby-on-rails-3 controller update-attribute


    【解决方案1】:

    假设任何给定的用户/问题组合只有一个累积,您可以将.first 添加到您的查询中:

    @accumulation = Accumulation.where(user_id: current_user.id, question_id: @question.id ).first
    

    否则,您将尝试在记录集合而不是单个 ActiveRecord 对象上设置 point

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      • 1970-01-01
      相关资源
      最近更新 更多