Rails关联不工作,不识别类

时间:2011-10-14 02:54:35

标签: ruby-on-rails ruby activerecord associations

我有一个奇怪的错误,刚出现我的rails应用程序,我无法弄清楚。我最近为现有模型添加了一个新关联,现在我之前的关联不想正常工作。

#=> self.user
#=> <# user.id => "1" ...
#=> self.transactions
#=> [<# transaction_id => "1"...
#=> self.credit_plan
#=> nil

所以前两个关联工作正常,但由于某种原因,credit_plan返回nil并且崩溃了我现有的所有工作代码。这是我的唱片协会。

class Order < ActiveRecord::Base
  belongs_to :user
  belongs_to :credit_plan
  has_many :transactions, :class_name => "OrderTransaction"

class CreditPlan < ActiveRecord::Base
  scope :active, where({:is_active => true})
  scope :inactive, where({:is_active => false})
  has_many :orders, :class_name => "Order"

class OrderTransaction < ActiveRecord::Base
  belongs_to :order
  serialize :params

1 个答案:

答案 0 :(得分:1)

好吧伙计们,我明白了。如果我发布了更多我的文件的上下文,我相信有人会想出来并尽快帮助我。

所以基本上,当我为信用卡表单设置我的虚拟属性时,我意外地通过添加:credit_plan作为属性来踩踏我自己的名称空间,这会覆盖关联。

class Order < ActiveRecord::Base
  belongs_to :user
  belongs_to :credit_plan
  has_many :transactions, :class_name => "OrderTransaction"

  validates_presence_of :credit_plan_id, :user

  attr_accessor :first_name, :last_name, :card_type, :credit_card,
            :number, :verification_value, :promotional_code, :expires_on,
            :credit_plan # << This will override associations, delete to fix. 

  validate :validate_card, :on => :create