mysql> desc Tab_A;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| Tab_B_id | int(11) | YES | MUL | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
通过上述架构,我可以Tab_A.first.tab_b
获取相应的Tab_B
详细信息。
将列option_A
添加到表Tab_A
并将该列引用到模型Tab_C
迁移更改已更新为 - >
add_reference :Tab_A, :option_a, references: :Tab_C
我得到了一个列option_a_id
,它引用了表Tab_C的ID。
但是,
在动作中 - >
Tab_A.first.tab_c
出错,我只能访问Tab_A.first.tab_c_id
。
我知道我做错了什么,很重要。不知道在哪里。
答案 0 :(得分:0)
好像您忘了在belongs_to
模型中将Tab_C
关联添加到Tab_A
。你应该使用这样的东西:
class TabA < ActiveRecord::Base
...
belongs_to :tab_c
...
检查它。
答案 1 :(得分:0)
您需要在模型中使用这些associations:
class TabA < ActiveRecord::Base
belongs_to :tab_c
class TabC < ActiveRecord::Base
has_many :tab_a