我有一个名为 produccion_alternativa 的模型。 我在config / initializers / inflections.rb中添加了一个新的变形规则,如下所示:
inflect.irregular('produccion_alternativa', 'producciones_alternativas')
我还有一个名为 productor 的模型与 produccion_alternativa 有关系:
class Productor < ActiveRecord::Base
has_many :producciones_alternativas
class ProduccionAlternativa < ActiveRecord::Base
belongs_to :productor
当我尝试为制作人获取所有 producciones_alternativas 时,我收到此错误:
irb(main):010:0> Productor.first.producciones_alternativas
NameError: uninitialized constant Productor::ProduccionesAlternativa
有什么想法吗?非常感谢你
答案 0 :(得分:1)
我看到其他几个人遇到同样的问题。无法找到答案为什么会发生这种情况。所以在此期间你可以试试这个:
has_many :producciones_alternativas, :class_name => "ProduccionAlternativa"
答案 1 :(得分:0)
我也找到了另一种解决方案。我在inflection.rb上添加了另一条规则:
inflect.irregular('ProduccionAlternativa', 'ProduccionesAlternativas')
inflect.irregular('produccion_alternativa', 'producciones_alternativas')
至少,现在它正在按我的意愿工作。感谢名单。
答案 2 :(得分:0)
你的失败是你在has_many
关联中复数了两个单词。你用过:
has_many :producciones_alternativas
但基于班级名ProduccionAlternativa
,复数是produccion_alternativas
,因为只有最后一个词是复数!所以这应该有效:
has_many :produccion_alternativas
在rails控制台中检查单词类型"your_word".pluralize
的复数!