我在 Rails 控制台(使用 Ruby 2.1)中尝试了变形虫 2.0.0 版。这是我的模型:
class Dict < ActiveRecord::Base
belongs_to :user
has_many :cards, dependent: :destroy
has_many :idioms, through: :cards
end
class Card < ActiveRecord::Base
belongs_to :dict
has_many :idioms, dependent: :destroy
amoeba do
exclude_field :dict_id
end
end
class Idiom < ActiveRecord::Base
belongs_to :card
amoeba do
include_field :repres
include_field :card_id
include_field :kind
include_field :note
end
end
现在在 Rails 控制台中我尝试
c=Card.find_by_id(19) # yields a Card object
c.amoeba_dup
这引发了异常
NoMethodError: undefined method macro' for nil:NilClass
from .../amoeba-2.0.0/lib/amoeba.rb:412:in amo_process_association'
from .../amoeba-2.0.0/lib/amoeba.rb:381:in block in amoeba_dup'
from .../amoeba-2.0.0/lib/amoeba.rb:379:in each'
from ..../amoeba-2.0.0/lib/amoeba.rb:379:in amoeba_dup'
from .../amoeba-2.0.0/lib/amoeba.rb:457:in block in amo_process_association'
我在哪里做错了?