【发布时间】:2018-06-15 12:08:02
【问题描述】:
我的 Rails API 有一个模型问题,我的 play_cards 模型有一些外来键,但我有一个问题,因为我得到了Mysql2::Error: Field 'deck_id' doesn't have a default value,但我不需要我的套牌和游戏是强制性的。
PS:它在开发中有效,但在生产中无效
这是我的模型:
class PlayCard < ApplicationRecord
# @!group RELATIONS
belongs_to :card
belongs_to :deck, optional: true
belongs_to :game, optional: true
belongs_to :user
# @!endgroup
# @!group VALIDATORS
validates :card_id, presence: true, blank: false, nill: false
validates :user_id, presence: true, blank: false, nill: false
validates :atk, presence: true, blank: false, nill: false, numericality: { greater_than_or_equal_to: 0 }
validates :hp, presence: true, blank: false, nill: false, numericality: { greater_than: 0 }
validates :uid, presence: true, allow_blank: false, allow_nil: false, length: { is: 4 }, uniqueness: true
# @!endgroup
end
这是我的迁移:
class CreatePlayCards < ActiveRecord::Migration[5.2]
def change
create_table :play_cards do |t|
t.references :card, foreign_key: true, null: false
t.integer :atk, null: false
t.integer :hp, null: false
t.references :deck, foreign_key: true
t.references :game, foreign_key: true
t.string :uid, limit: 4, null: false
t.timestamps
end
end
end
你有什么想法吗?
祝你有美好的一天
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3