回答編集履歴

2

追記

2019/12/20 22:10

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -41,3 +41,45 @@
41
41
  ```
42
42
 
43
43
  これですと ModuleBをとり込むときに file modele_a.rbは読まれますので、追加定義が取り込まれます
44
+
45
+
46
+
47
+ 追記2
48
+
49
+ ただ、私ですとこういうclassの定義はしません
50
+
51
+ rails g model ModuleP::ClassA
52
+
53
+ とすると
54
+
55
+ app/models/module_p.rb
56
+
57
+ app/models/module_p/class_a.rb
58
+
59
+ ができます。
60
+
61
+ ```
62
+
63
+ # module_p.rb
64
+
65
+ module ModuleP
66
+
67
+ def self.table_name_prefix
68
+
69
+ 'module_p_'
70
+
71
+ end
72
+
73
+ end
74
+
75
+ # module_p/class_a.rb
76
+
77
+ class ModuleP::ClassA < ActiveRecord::Base
78
+
79
+ end
80
+
81
+ ```
82
+
83
+ こういう形での記述をします
84
+
85
+ ActiveRecord::Base でなければ不要な宣言は消しますが。

1

追記

2019/12/20 22:10

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -13,3 +13,31 @@
13
13
  ClassPA を呼ぶと ModuleB::ClassPA が未定義 と多分言われます。
14
14
 
15
15
  ModuleP::ModuleA::ClassPA(間違いかも) の様に呼ばないと。
16
+
17
+
18
+
19
+ 追記
20
+
21
+ とするとこういうのかなぁ
22
+
23
+ ModuleAのfileの中で ModulePを追加定義して、その中でclassを定義する
24
+
25
+ ```
26
+
27
+ */*/module_a.rb
28
+
29
+ module ModuleP::ModuleA
30
+
31
+ end
32
+
33
+ module ModuleP
34
+
35
+ class ClassPA
36
+
37
+ end
38
+
39
+ end
40
+
41
+ ```
42
+
43
+ これですと ModuleBをとり込むときに file modele_a.rbは読まれますので、追加定義が取り込まれます