[英]Ruby on Rails - How to save current datetime to database?
用户创建帐户时,必须将当前日期时间发送到数据库。 我有一列,例如“ a_started_at”。
控制器:
def create
.......
if @user.save
@current_Time = DateTime.now
@current_Time = current_time.strftime("%Y/%m/%d %H:%M")
end
.......
end
对于用户参数,我在“ company_attributes”中发送了它
company_attributes[a_started_at => @current_Time]
您可能想利用ActiveRecord::Timestamp
:如果数据库表中有一列created_at
,那么Rails在创建新行时会自动将当前时间保存到该列中。
要在用户注册时手动设置datetime列,您有两个选项,具体取决于您希望started_at
datetime字段的明确程度:
1)在模型中有一个回调:
# in models/user.rb
before_validate :set_started_at
private
def set_started_at
self.started_at ||= Time.current
end
2)通过在控制器中创建用户时提供更多属性:
# in your controller:
@user = User.new(user_attributes.merge(started_at: Time.current))
if @user.save
# ...
(代表OP张贴) 。
我只是在create方法中执行了users.company.started_at = DateTime.now
,它起作用了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.