2017-02-16 13 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)を参照する方法がわからない:

アプリ/モデル/

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

をmeal.rb明示的にクラス名を追加してみてください:

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

関連する問題