【问题标题】:fail to save time to the database无法将时间保存到数据库
【发布时间】:2014-06-18 15:39:50
【问题描述】:

我有一个简单的 ruby​​ on rails 应用程序,它有一个 micropost 模型,它有内容和 tt(我希望用户输入一些时间 - 在迁移文件中它被定义为 t.time :tt)。我用一个简单的表格

<%= form_for @micropost do |f| %>
  <%= f.text_area :content %>
  <%= f.time_field :tt %>
<% end %>

然后我在控制器中使用强参数

def micropost_params
  params.require(:micropost).permit(:content, :tt)
end

但是当它保存到数据库时,tt 是 nil,即使我在 time_field 中输入 0。有什么问题? 谢谢。

【问题讨论】:

  • 也许问题不在强参数中。记录它们。保存类型不同时可能会出现问题。
  • 我认为你是对的。问题是不同类型的,有什么建议吗?

标签: ruby-on-rails ruby database time


【解决方案1】:

我从未在form_for 中看到过类似time_field 的东西。也许你可以尝试使用time_select

<%= form_for @micropost do |f| %>
  <%= f.text_area :content %>
  <%= f.time_select :tt %>
<% end %>

有关time_select 的更多选项,请参阅此API

【讨论】:

    【解决方案2】:

    我从没见过t.time :tt。试试t.datetime :tt

    【讨论】:

    • 确实有一个time 属性只接受时间。
    • 哦!我不知道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    相关资源
    最近更新 更多