Я пересматриваю чужой проект, который позволяет пользователям отправлять контент для немедленной или запланированной публикации. Есть пара радиокнопок, чтобы выбрать это, и поле даты и времени, которое активируется JavaScript, если радиокнопка для «запланировано» выбрана
<%= f.hidden_field :scheduled_state %>
<%= f.radio_button :immediate_or_scheduled, :immediate, :checked => "checked", :id => "pub_imd" %>
<%= f.radio_button :immediate_or_scheduled, :scheduled , :id => "pub_sch" %>
<label>Date/Time:</label>
<%= f.datetime_select :scheduled_start,
{:include_blank => false,
:default => 3.days.from_now,
:start_year => Time.now.year} %>
Мне не совсем понятно, для чего предназначено скрытое поле, это мой следующий пункт исследования. В любом случае, проблема в том, что когда форма отправляется, иногда параметры просто не передаются. Я бы скопировал вывод mongrel, но все, что вы видите, это то, что его нет: schedule_start (1i) => 2010. Он не говорит, что это ноль, у него просто нет этого параметра.
Что меня действительно волнует, так это то, что это не является постоянной проблемой - я могу отправить три раза подряд с запланированной датой, и тогда произойдет ошибка. Я не смог соотнести их с конкретными датами - некоторые, кажется, испортили больше, чем другие, но ни одна не соответствует действительности.
Мои попытки исправить-
Первоначально: include_blank получил значение true, и я подумал, что, возможно, он отправлял неправильно. Был неактуален.
Попытка выключить JavaScript, который отключил / включил поле выбора, но не имел отношения к делу.
Попробовал жесткое кодирование формы с использованием чистого HTML, без разницы.
Попробовал положить в собственные рейки select_tags для моих собственных параметров, затем забрать их в контроллере и добавить их в параметры. Все еще не помогло, и сломал возможность немедленной публикации.
Я довольно сильно озадачен, если у кого-то есть новое направление, которое я могу исследовать, это было бы замечательно.
Спасибо!