我在两个模型PointModifier和ManualPoints之间有has_many
/ belongs_to
多态关系。
# ManualPoints Model
has_many :point_modifiers, as: :modifier
# PointModifier Model
belongs_to :modifier, polymorphic: true
我最近在我的测试中发现了这个错误 - NameError: wrong constant name
- 将ActiveModel::Serializer
添加到我的项目中。它似乎与AMS
无关,我之前从未见过这个错误。
答案 0 :(得分:3)
一点点的调查显示这个错误似乎与常数有关。
http://ruby-doc.org/core-1.9.3/NameError.html
进一步挖掘并且我意识到这个问题与我的灯具有关。
# PointModifiers Fixture
one:
points: 2
user_id: 1
modifier_type: manual_points
modifier_id: 1
问题在于我错误地将snake_case用于灯具中的多态关系。解决方案是使用CamelCase,如下所示:
# PointModifiers Fixture
one:
points: 2
user_id: 1
modifier_type: ManualPoints
modifier_id: 1