Ruby on rails 3 未使用Rails 3.2和formtastic写入数据库的日期

Ruby on rails 3 未使用Rails 3.2和formtastic写入数据库的日期,ruby-on-rails-3,activerecord,formtastic,Ruby On Rails 3,Activerecord,Formtastic,在我忘记之前,以下是我的跑步记录: 轨道3.2.4.rc1 Ruby 1.9.3 Formtastic 2.1(稳定) 我正在尝试使用formtastic制作用户信息表单。日期字段似乎工作不正常。所有其他数据正在正确更新。看起来PUT请求是可以的,但是当我查询我的数据库(mysql)时,它会说date=NULL 代码示例: 在我看来: <%= semantic_form_for @author do |f| %> <%= f.inputs do %> <

在我忘记之前,以下是我的跑步记录: 轨道3.2.4.rc1 Ruby 1.9.3 Formtastic 2.1(稳定)

我正在尝试使用formtastic制作用户信息表单。日期字段似乎工作不正常。所有其他数据正在正确更新。看起来PUT请求是可以的,但是当我查询我的数据库(mysql)时,它会说date=NULL

代码示例:

在我看来:

<%= semantic_form_for @author do |f| %>
  <%= f.inputs do %>
    <%= f.input :first_name %>
    <%= f.input :last_name %>
    <%= f.input :date_of_birth, :start_year => Time.now.year-500 %>
    <%= f.input :nationality %>
    <%= f.input :bio %>
  <% end %>
  <%= f.actions %>
<% end %>
ETA:这是控制台中的MYSQL:

Processing by AuthorsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"gjSXdsSWPBzL65fOHX/pe3XTFRau4NYzZSYsyp1aPAs=", "author"=>{"first_name"=>"Stinky ", "last_name"=>"mggee", "date_of_birth(1i)"=>"2010", "date_of_birth(2i)"=>"4", "date_of_birth(3i)"=>"4", "nationality"=>"Finnish", "bio"=>"TEST"}, "commit"=>"Create Author"}
  SQL (0.2ms)  BEGIN
  SQL (154.1ms)  INSERT INTO `authors` (`bio`, `created_at`, `date_of_birth`, `date_of_death`, `first_name`, `last_name`, `nationality`, `updated_at`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)  [["bio", "TEST"], ["created_at", Tue, 24 Jul 2012 13:30:23 EDT -04:00], ["date_of_birth", nil], ["date_of_death", nil], ["first_name", "Stinky "], ["last_name", "mggee"], ["nationality", "Finnish"], ["updated_at", Tue, 24 Jul 2012 13:30:23 EDT -04:00]]
当我询问mysql时的输出:

mysql> select date_of_birth from authors where id = 4;
+---------------+
| date_of_birth |
+---------------+
| NULL          |
+---------------+
1 row in set (0.00 sec)
我怀疑这可能与以下信息有关:“select_date不适用于更新或创建活动记录对象的表单,因为活动记录希望参数散列的每个元素对应一个属性。日期和时间的模型对象帮助器提交具有特殊名称的参数,当Active Record看到具有此类名称的参数时,它知道这些参数必须与其他参数组合,并提供给适合列类型的构造函数。”


这就是说,我没有在互联网上看到任何其他人有这个问题,而且这似乎是Formtastic将要处理的事情。在我最近从Rails 2升级到Rails 3之前,它工作正常。

你收到关于批量分配的任何警告吗?没有——一点警告都没有。这很奇怪;它表现得好像一切都很好,一点也不奇怪然后当我查看数据库时,它是空的。日期列也被列为attr_accessible。为什么不切换到稳定版本的rails(现在是3.2.6)?可能问题与rails 3.2.4.rc1I有关。我不知道有更新的稳定版本。所以,现在有了3.2.6,我仍然有同样的问题,很不幸。你成功了吗?我想我也有同样的问题。
mysql> select date_of_birth from authors where id = 4;
+---------------+
| date_of_birth |
+---------------+
| NULL          |
+---------------+
1 row in set (0.00 sec)