【问题标题】:Mongoid date_select and validates_presence_ofMongoid date_select 和 validates_presence_of
【发布时间】:2013-05-26 06:55:19
【问题描述】:

所以如果我在表单中使用date_select 并制作模型validates_presence_of :date。我会收到一条错误消息:日期不能为空,即使我已经选择了日期。

  # in the form
  <div class="field">
    <%= f.label :date %><br />
    <%= f.date_select :date %>
  </div>

  # in the model
  validates_presence_of :date

我读到 mongoid 在 railscast mongoid 截屏视频中有date_select 的问题,但是,这是一个旧教程,所以我不确定问题是否仍然存在,因为我似乎无法在网上找到解决方案。

如果我使用 text_field ,验证根本不起作用。我可以在不输入任何日期的情况下按提交,并将被重定向到错误页面而不是正确的红色警告。

【问题讨论】:

    标签: validation date mongoid


    【解决方案1】:

    我找到了解决方案。为了使 date_select 与 mongoid 一起工作,我必须包含

      include Mongoid::MultiParameterAttributes
    

    在模型类中。然后在控制器中,我必须处理日期参数的分解。它分为 3 个部分。

    "date(1i)"=>"2013", "date(2i)"=>"5", "date(3i)"=>"26"
    

    所以我必须这样做

    date = Date.new(params_apt['date(1i)'].to_i, params_apt['date(2i)'].to_i, params_apt['date(3i)'].to_i)
    

    还有你那个date 变量。

    【讨论】:

    • 仅适用于旧版本的 Mongoid。了解更多here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    相关资源
    最近更新 更多