Rails 创建新记录时模型默认值被忽略?
Rails model default value being ignored when new record created?
我有一个像这样的消息模型
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
在创建新消息时将 'seen' 的值设置为 false
但是当我尝试
Message.create(conversation_id: 1, body: "something new!", user_id: 1)
然后seen: nil
。而我期待看到 seen: false
我做错了什么/我怎样才能得到想要的行为?
您可以通过 运行 在您的 rails 控制台中使用以下命令重新加载您的控制台,或者您可以关闭并重新打开您的控制台一次。我想,它会解决你的问题。除了代码对我来说还不错。
reload!
我有一个像这样的消息模型
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
在创建新消息时将 'seen' 的值设置为 false
但是当我尝试
Message.create(conversation_id: 1, body: "something new!", user_id: 1)
然后seen: nil
。而我期待看到 seen: false
我做错了什么/我怎样才能得到想要的行为?
您可以通过 运行 在您的 rails 控制台中使用以下命令重新加载您的控制台,或者您可以关闭并重新打开您的控制台一次。我想,它会解决你的问题。除了代码对我来说还不错。
reload!