【发布时间】:2014-06-19 21:59:51
【问题描述】:
我有我的迁移:
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
我的控制器中有 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?
【问题讨论】:
-
您的课程模型是什么样的?你有任何验证吗?见:guides.rubyonrails.org/active_record_validations.html
标签: ruby-on-rails ruby ruby-on-rails-4