gpt4 book ai didi

mysql - 类型错误 : nil is not a symbol

转载 作者:IT老高 更新时间:2023-10-29 00:14:07 25 4
gpt4 key购买 nike

只是尝试使用 ActiveRecord 保存,但我不断收到“TypeError: nil is not a symbol”

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

我运行上面的代码。

架构:

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

当我使用 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">
(0.2ms) BEGIN
(0.2ms) ROLLBACK
TypeError: nil is not a symbol
from /home/kevin/.rvm/gems/ruby-2.1.2/gems/activemodel-4.1.6/lib/active_model/dirty.rb:162:in `attribute_was'

请帮忙。我已经花了几个小时在这上面。我试过 mysql insteal of sqlite。我尝试了不同的列数据类型。问题是“数量”字段。它不会让我保存。

编辑:变量“main”设置在显示的上方。

最佳答案

好的,我终于找到了答案。我制作了连接表,没有 id 字段的“条目”。如果将连接表用作带有额外数据的模型,则需要这样做。

关于mysql - 类型错误 : nil is not a symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26568797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com