gpt4 book ai didi

ruby-on-rails - 如何防止 Rails 在发布时创建空行

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:12 25 4
gpt4 key购买 nike

我有我的迁移:

class CreateCourses < ActiveRecord::Migration
def change
create_table :courses, :id => false do |t|
t.uuid :id, :primary_key => true, :null => false
t.datetime :date_start, :null => false
t.float :price, :null => false
t.datetime :date_end
t.text :description
t.text :location, :null => false
t.timestamps
end
end
end

我的 Controller 中有 create 方法:

def create
course = Course.new(params[:course])
if course.save
render :nothing => true
else
render "public/422", :status => 422
return
end
end

现在,当我用任何数据调用我的 create 方法时,它会在我的 Course 表中创建一个新的空行。但是,我想确保发送来创建的对象实际上是一个 Course 对象,并且位置和价格(例如)不为空并且存在。

我有 ASP.NET MVC 背景,所以我才刚刚开始学习 Rails。

P.S 如何在成功创建时返回成功 200 响应,而不是 render :nothing => true

最佳答案

检查模型验证:

http://guides.rubyonrails.org/active_record_validations.html#validates-associated

但举个例子:

class Library < ActiveRecord::Base
has_many :books
validates_associated :books
end

关于ruby-on-rails - 如何防止 Rails 在发布时创建空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24316910/

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