2017-02-16 87 views
0

我想命名空間「甜點」下的一些「水果」模型,所以我創建了一個名爲「甜點」的模型子目錄,並在那裏放置了「水果」模型。如何從相關模型引用名稱空間模型?

應用程序/模型/點心/ fruit.rb

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

所附的表稱爲:dessert_fruits,我能夠進入軌道控制檯,併成功執行Dessert::Fruit.all

現在我想創建使用has_oneaccepts_nested_attributes_for另一個模型(meal.rb)的關聯,但我不知道如何來引用命名空間模型(xxxxx下圖):

應用程序/模型/ meal.rb

class Meal < ActiveRecord::Base 
    has_one :xxxxx, dependent: :destroy, autosave: true 
    accepts_nested_attributes_for :xxxxx 
    # replacing :xxxxx with :dessert_fruit does not work 
end 

回答

1

嘗試添加類的名稱明確:

class Meal < ActiveRecord::Base 
    has_one :fruit, dependent: :destroy, autosave: true, class_name: '::Dessert::Fruit' 
    accepts_nested_attributes_for :fruit 
end 

This article對組織模塊有更深入的討論。

+0

非常感謝。你的回答讓我繼續我的工作。我很感激! – user664833

相關問題