今週末、Rails 4 を試してみることにしましたが、すぐに次の問題に遭遇しました。
私は 2 つのモデルを持っています (あなたが疑問に思っている場合に備えて、OpenSchema を試してみたかったのです):
記録
has_many :ns_attributes
NsAttribute
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をbeels_toメソッドに変更せずに追加しようとしました。
- ARモデル名のせいでしょうか?("記録")
- 2 つのモデルの検証はありません
何が起こっているのかについての手がかりは大歓迎です!