1

所以如果我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

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

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

4

1 回答 1

0

我找到了解决方案。为了使 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变量。

于 2013-05-26T13:47:10.703 回答