创建新记录时忽略Rails模型默认值



我有一个类似的消息模型

class CreateMessages < ActiveRecord::Migration[6.0]
def change
create_table :messages do |t|
t.text :body
t.references :conversation, null: false, foreign_key: true
t.references :user, null: false, foreign_key: true
t.boolean :seen, default: false
t.timestamps
end
end
end

每当创建新消息时,我希望default: false将"seed"的值设置为false

但当我尝试时

Message.create(conversation_id: 1, body: "something new!", user_id: 1)

然后是CCD_ 3。而我原本希望看到seen: false

我做错什么了吗/我怎样才能得到想要的行为?

您可以通过在rails控制台中运行以下命令来重新加载控制台,也可以关闭并重新打开控制台一次。我想,这会解决你的问题。除了代码对我来说很好。

reload!

最新更新