Params возвращается как NULL "иногда" - PullRequest
1 голос
/ 20 сентября 2011

Я пытаюсь сохранить значение, полученное из 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 Log

1) Параметры: {"utf8" => "✓", "authenticity_token" => "b4Uzq7CQvD8qnIBfnr / GmaMCxNjbINxd8CMskmyirPI =", "vacay" => {"dateFrom" => "09/20/2011", "dateUntil" > "25.09.2011" , "said_forward" => "5", "employee_id" => "1", "user_id" => "1"}, "commit" => «Создать Vacay»} Пользовательская нагрузка (0,4 мс) ВЫБЕРИТЕ "users". * FROM "users" WHERE ("users". "Id" = 1) LIMIT 1 AREL (0,4 мс) ВСТАВЛЯЕТ В "Vacays" ("принес_прибор", "dateFrom", "dateUntil", "user_id", "employee_id", "sumVacay", "creation_at", "updated_at") ЗНАЧЕНИЯ (5, NULL, NULL, 1, 1, NULL, '2011-09-20 01: 25: 36.804428', '2011-09-20 01: 25: 36.804428')

2.) При попытке в другое время. Иногда он сохраняет параметры до, затем не сохраняет после или наоборот

AREL (0,4 мс) ВСТАВЛЯТЬ В "vacays" ("принес_прибор", "dateFrom", "dateUntil", "user_id", "employee_id", "sumVacay", "made_at", "updated_at") ЗНАЧЕНИЯ (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мс

1 Ответ

0 голосов
/ 20 сентября 2011

Может ли это быть проблемой локализации даты?Дата 20.09.2011 и 25.09.2011 явно в формате mm/dd/yyyy, но если они проанализированы как формат dd/mm/yyyy, это будет неверно.Возможно, это объясняет, почему некоторые даты проходят, а другие нет.

В случае, когда фактически вставляются значения в базу данных, указанные даты действительны в любом формате - 02.09.2011 является допустимым значением в любом случаеВы интерпретируете в любом случае, хотя, если даты переключаются, значения, введенные в базу данных, будут не такими, как предполагалось.Вы хотели забронировать отпуск с 9 января по 9 февраля или 1-2 сентября?

...