这个周末我决定试一试 Rails 4,很快就遇到了以下问题:
我有两个模型(想尝试一个 OpenSchema,以防您想知道):
记录
has_many :ns_attributes
Ns属性
belongs_to :record
现在在控制台中:
record = Record.create!(name: "blowing in the wind")
nsa = NsAttribute.new(key: "artist", value: "bob dylan", record: record)
#<NsAttribute id: nil, key: "artist", value: "bob dylan", record_id: 4, created_at: nil, updated_at: nil>
irb(main):007:0> nsa.save!
(0.4ms) BEGIN
Record Exists (0.7ms) SELECT 1 AS one FROM "records" WHERE "records"."name" IS NULL LIMIT 1
(0.2ms) COMMIT
=> true
irb(main):008:0> nsa
=> #<NsAttribute id: nil, key: "artist", value: "bob dylan", record_id: nil, created_at: nil, updated_at: nil>
如您所见,记录未保存(record_id:nil)。
- 我还尝试将 class_name 和 foreign_key 添加到 belongs_to 方法而不做任何更改。
- 可能是因为 AR 型号名称的原因吗?(“记录”)
- 两个模型都没有验证
任何有关正在发生的事情的线索都值得赞赏!