【问题标题】:Params comes back as NULL "sometimes"参数“有时”返回为 NULL
【发布时间】:2011-09-20 01:38:40
【问题描述】:

我正在尝试将从 datepicker (Jquery) 收集的值保存到我的数据库中。 问题是,当我在返回 NULL 的代码中没有任何更改时,它有时会正确保存。

代码

  <%= simple_form_for (@vacay), 
    :url => url_for(:action => 'setVacay', :controller => 'employees'),
    :method => 'post' do |v| %>

<%= v.error_notification %>
<%= v.text_field :dateFrom, :value_method => @vacay %> to <%= v.text_field :dateUntil, :value_method => @vacay %>

控制器

def setVacay
@user = current_user
@vacay = Vacay.new(params[:vacay])

@vacay.save
flash[:success] = "Created vacation request"
redirect_to :controller => "users", :action => "allemploy"
end

IRB 日志

1) 参数:{"utf8"=>"✓", "authenticity_token"=>"b4Uzq7CQvD8qnIBfnr/GmaMCxNjbINxd8CMskmyirPI=", "vacay"=>{"dateFrom"=>"09/20/2011", "dateUntil"= >"09/25/2011", "brought_forward"=>"5", "employee_id"=>"1", "user_id"=>"1"}, "commit"=>"创建空缺" } 用户负载 (0.4ms) SELECT "users".* FROM "users" WHERE ("users"."id" = 1) LIMIT 1 AREL (0.4ms) INSERT INTO "vacays" ("brought_forward", "dateFrom", "dateUntil", "user_id", "employee_id", "sumVacay", "created_at", "updated_at") VALUES (5, NULL, NULL, 1, 1, NULL, '2011-09-20 01:25:36.804428', '2011-09-20 01:25:36.804428')

2.) 在其他时间尝试时。有时它会先保存参数,然后再保存,反之亦然

AREL (0.4ms) INSERT INTO "vacays" ("brought_forward", "dateFrom", "dateUntil", "user_id", "employee_id", "sumVacay", "created_at", "updated_at") VALUES (5, '2011-01-09', '2011-02-09', 1, 1, NULL, '2011-09-20 01:32:54.097928', '2011-09-20 01: 32:54.097928') 重定向到http://localhost:3000/all 完成 302 发现在 336 毫秒内

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord params


    【解决方案1】:

    这可能是日期本地化问题吗?日期 09/20/2011 和 09/25/2011 显然采用 mm/dd/yyyy 格式,但如果将它们解析为 dd/mm/yyyy 格式,则将无效。这或许可以解释为什么有些日期会通过而其他日期不会。

    在实际将值插入数据库的情况下,给定的日期在任何一种格式下都有效 - 无论您以哪种方式解释,2011 年 9 月 2 日都是有效值,尽管如果日期被切换,则插入的值数据库不会像预期的那样。您想预订 1 月 9 日至 2 月 9 日还是 9 月 1 日至 2 日的假期?

    【讨论】:

      猜你喜欢
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      相关资源
      最近更新 更多