【发布时间】:2011-09-07 18:29:24
【问题描述】:
型号
class Project
has_many :tasks
class Task
belongs_to :project
Task 具有以下属性(除其他外)
t.string project
t.integer project_id
这是我继承的代码,我不确定为什么它有两列,但我注意到此设置出现意外行为。当我为 @task 渲染 JSON 时,它包含了 project 信息(可能没有正确格式化 JSON,但你明白了)
{
"task": {
"duration": 3,
"project": {
"project": {
"id": 9,
"description": "Roofing,
"updated_at": "2011-09-07T16:58:34Z",
...
}
},
"project_id": 9,
...
}
}
我检查了数据库中的project 列,结果为零。似乎 Rails 将该列视为关系调用(我什至可以理解为什么)而不仅仅是一列,这是预期的行为吗?
【问题讨论】:
-
什么是
project列(类型字符串)?我看到你有外键project_id,但看起来是正确的。 -
是的,如上所述,
project列的类型为string。 -
对不起,不清楚,我的意思是“项目列是什么?”,其中存储了哪些数据?我说的是(类型字符串)将它与整数类型的
project_id区分开来。显然project是一个字符串。
标签: ruby-on-rails ruby-on-rails-3 json activerecord