Ala*_*man 2 ruby ruby-on-rails-4
我有一个消息模型。每当我if @message.save在控制器中运行时,都会出现此错误:
ERROR: null value in column "conversation_id" violates not-null constraint
Run Code Online (Sandbox Code Playgroud)
如果保存失败,我只想重定向。
def create
@message = Message.new(message_params)
if @message.save
# redirect
else
# render new
end
end
Run Code Online (Sandbox Code Playgroud)
我的消息架构
create_table "messages", force: true do |t|
t.string "body", null: false
t.integer "conversation_id", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
Run Code Online (Sandbox Code Playgroud)
我相信发生这种情况的原因是因为您的实际模型中没有验证,仅在数据库中。因此,它通过了验证以继续保存,但是数据库有问题。只需在模型中包含一个验证,它将返回false:
validates :conversation_id, presence: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
744 次 |
| 最近记录: |