首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 3回调在相关对象上设置增量

rails 3回调在相关对象上设置增量
EN

Stack Overflow用户
提问于 2012-01-22 05:20:03
回答 1查看 200关注 0票数 0

用户has_many :代码has_many :赎回

代码belongs_to :用户has_many :赎回

赎回用户:代码belongs_to : has_one

赎回模型:

代码语言:javascript
复制
  class Redemption < ActiveRecord::Base
  has_one :code
  belongs_to :user

  validates :code_id, :presence => true
  validates :user_id, :presence => true

  after_create :increment_points
  def increment_points
    self.code.user.increment!(:points)
  end 

结束

当我创建一个新的赎回时,它返回以下错误:

代码语言:javascript
复制
PGError: ERROR:  column codes.redemption_id does not exist
LINE 1: SELECT  "codes".* FROM "codes"  WHERE "codes"."redemption_id...
                                              ^
: SELECT  "codes".* FROM "codes"  WHERE "codes"."redemption_id" = 17 LIMIT 1

我的关联有问题吗?我已经把它画出来了,相信我可以回溯到协会赎回->代码->用户

这个问题的一个警告是,赎回用户不是我试图增加积分的用户。代码是由一个用户创建的,这就是我试图更新的用户……

有什么想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-22 05:50:38

has_many/one和belongs_to需要一起使用。当您声明has_one : redemption_id时,Rails希望您在Code表上放置一个代码,并在belongs_to上声明相应的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8956785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档