小编Kev*_*abe的帖子

TypeError:nil不是符号

只是尝试使用ActiveRecord保存,我不断得到"TypeError:nil不是符号"

if card_data[:card] and card_data[:deck]
  e = self.find_or_create_by(card_id: card_data[:card].id, deck_id: card_data[:deck].id, main: main)
  e.card = card_data[:card]
  e.deck = card_data[:deck]
  e.quantity = card_data[:quantity].to_i
  e.main = main
  p e
  e.save if e.card and e.deck
end
Run Code Online (Sandbox Code Playgroud)

我运行上面的代码.

架构:

create_table "entries", id: false, force: true do |t|
  t.integer  "card_id"
  t.integer  "deck_id"
  t.integer  "quantity",   default: 0, null: false
  t.integer  "main",       default: 0, null: false
  t.datetime "created_at"
  t.datetime "updated_at"
end
Run Code Online (Sandbox Code Playgroud)

当我使用pry时,在find_or_create_by之后它甚至不会立即让我e.save.

#<Entry card_id: 1, deck_id: 1, quantity: 4, main: 1, created_at: "2014-10-26 00:45:12", updated_at: "2014-10-26 00:45:12"> …
Run Code Online (Sandbox Code Playgroud)

ruby mysql activerecord ruby-on-rails

12
推荐指数
1
解决办法
4361
查看次数

标签 统计

activerecord ×1

mysql ×1

ruby ×1

ruby-on-rails ×1