如何从相关模型引用命名空间模型?

时间:2017-02-16 03:41:28

标签: ruby-on-rails model-associations

我想在“甜点”下命名一些“水果”模型,所以我创建了一个名为“甜点”的模型子目录,并在那里放了一个“水果”模型。

应用/模型/甜点/ fruit.rb

class Dessert::Fruit < ActiveRecord::Base
    def self.table_name_prefix
        'dessert_'
    end
end

附表名为dessert_fruits,我可以进入rails控制台并成功执行Dessert::Fruit.all

现在我想使用meal.rbhas_one与另一个模型(accepts_nested_attributes_for)建立关联,但我不知道如何引用命名空间模型({{ 1}}下面):

应用/模型/ meal.rb

xxxxx

1 个答案:

答案 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对组织模块进行了更深入的讨论。