Rails mongodb - 在字段中设置今天的日期:日期

2 ruby-on-rails mongoid

我想为控制器的 :date 字段自动添加今天的日期。我是 Rails 的新手,不知道如何设置这个默认值,除了它必须在控制器中。

这是我的 Post 模型:

class Post
  include Mongoid::Document
  field :title, type: String
  field :text, type: String
  field :date, :type => DateTime
end
Run Code Online (Sandbox Code Playgroud)

还有我的 Post 控制器:

def create
  @post = Post.new(post_params)

  @post.save
  redirect_to @post
end 

private
  def post_params
    params.require(:post).permit(:title, :text, :date)
end
Run Code Online (Sandbox Code Playgroud)

查看 Rails 文档,我了解了 Date.current 或 Date.today。

T J*_*T J 5

你总是可以让 Mongoid 为你处理默认值

class Post
  include Mongoid::Document
  field :title, type: String
  field :text, type: String
  field :date, :type => DateTime, default: ->{ Date.today }
end
Run Code Online (Sandbox Code Playgroud)

这样,如果您的参数中的日期为零,它将被设置为今天的日期。

此处记录默认值