我想在“甜点”下命名一些“水果”模型,所以我创建了一个名为“甜点”的模型子目录,并在那里放了一个“水果”模型。
应用/模型/甜点/ fruit.rb
class Dessert::Fruit < ActiveRecord::Base
def self.table_name_prefix
'dessert_'
end
end
附表名为dessert_fruits
,我可以进入rails控制台并成功执行Dessert::Fruit.all
。
现在我想使用meal.rb
和has_one
与另一个模型(accepts_nested_attributes_for
)建立关联,但我不知道如何引用命名空间模型({{ 1}}下面):
应用/模型/ meal.rb
xxxxx
答案 0 :(得分:1)
尝试明确添加类名:
class Meal < ActiveRecord::Base
has_one :fruit, dependent: :destroy, autosave: true, class_name: '::Dessert::Fruit'
accepts_nested_attributes_for :fruit
end
This article对组织模块进行了更深入的讨论。