【问题标题】:ruby on rails datetime select not updating dbruby on rails datetime 选择不更新数据库
【发布时间】:2013-02-09 11:54:28
【问题描述】:

我尝试使用内置的 ruby​​ 帮助器进行日期时间选择,尽管它似乎没有将值传递给 ActiveRecord

form.haml.html

.row
      .two.columns
        = f.label :date_and_time, :class =>'left inline'
      .ten.columns
        = f.datetime_select('datetime', :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}, :order => [:day, :month, :year])

控制台输出

Processing by EventsController#update as JS
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"sebpDgAPPmK8q9024vrhN4eEQT7vZLr+pa5XdSicAMc=", "event"=>{"event"=>"1", "location_id"=>"13", "datetime(3i)"=>"5", "datetime(2i)"=>"5", "datetime(1i)"=>"2012", "datetime(4i)"=>"01", "datetime(5i)"=>"03", "duration"=>"34", "arrival_time"=>"34", "team_id"=>"1", "opponent_id"=>"4", "home_or_away"=>"Away"}, "commit"=>"Update Event", "id"=>"68"}
  User Load (1.5ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 38 LIMIT 1
  Event Load (0.8ms)  SELECT "events".* FROM "events" WHERE "events"."id" = $1 LIMIT 1  [["id", "68"]]
  CACHE (0.0ms)  SELECT "events".* FROM "events" WHERE "events"."id" = $1 LIMIT 1  [["id", "68"]]
  User Load (1.4ms)  SELECT "users".* FROM "users" WHERE "users"."team_id" = 1
   (0.4ms)  BEGIN
   (0.9ms)  UPDATE "events" SET "updated_at" = '2013-02-09 11:44:24.830499', "selected_players" = '---
- ''''
' WHERE "events"."id" = 68
   (8.2ms)  COMMIT

【问题讨论】:

    标签: ruby-on-rails forms datetime rails-activerecord


    【解决方案1】:

    根据您的标签,它是您数据库中的:date_and_time 字段,对吗?如果是这样,您应该在 datetime_select 中使用它:

    = f.datetime_select :date_and_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}, :order => [:day, :month, :year])
    

    【讨论】:

    • na 标签与数据库中的实际字段不同
    • 从我在控制台上看到的表单正在传递哈希,但 activerecord 似乎没有看到它
    【解决方案2】:

    发现问题出在控制器内部,仍然指的是我们使用的旧命名,因为所做的更改似乎都在工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多