[英]Ruby on Rails API adding property to instance variable not working?
我在Rails上用ruby编写了一个REST API,将时间表保存到数据库中。 在保存时间表之前,我试图将时间表的time属性设置为当前时间Time.now。 但是,时间始终设置为null。
这是我的创建方法:
def create
@timesheet = Timesheet.new
@timesheet.assign_attributes(@json['timesheet'])
@timesheet.time = Time.now
if @timesheet.save
render json: @timesheet
else
render nothing: true, status: :bad_request
end
end
我正在通过终端进行测试,而且我总是随着时间返回json:null。 谢谢你的帮助。
编辑:模式
create_table "timesheets", force: :cascade do |t|
t.integer "employer_id"
t.integer "employee_id"
t.datetime "time"
t.boolean "in"
end
Rails已经内置了对时间戳的支持。 如果已经存在,为什么还要复制它呢? 默认情况下,当您生成模型时,创建的迁移将同时具有created_at
和updated_at
列。
要将时间戳添加到现有表中,请执行以下操作:
rails g migration add_timestamps_to_something created_at:datetime updated_at:datetime
rake db:migrate
用您要更改的表的名称替换something
。 只要模型具有这些列,在创建记录时,rails就会设置created_at
,而在记录更新时(duh),它们会设置updated_at
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.