Текущая дата не соответствует дате URL - PullRequest
0 голосов
/ 24 января 2012

Я использую Rails 3, и при создании продукта дата, передаваемая в URL, является текущей / текущей датой, но дата в селекторе - на день раньше.

Подскажите, пожалуйста, как это исправить?

например. products / new? date = 2012-01-24 является текущей датой, но дата в раскрывающемся списке отображается как 2012-January-23.

Пожалуйста, руководство.

<p>
   <%= f.label :title, t("products.title") %><br />
  <%= f.text_field :title %>
</p>
<p>
                  <%= f.label :date, t("products.time") %>
          <select name="hour" id="hour">
            <% time = Time.zone.now.strftime("%H").to_i
        if time > 12
          time = time - 12
          am = false
        else
          am = true
        end %>
          <% if controller.action_name == "edit"%>
            <% if return_timesetting == 0%>
              <% for item in 0..23 %>
                  <% if @product.date.strftime("%H").to_i > 12
                      am = false
                    else
                      am = true
                    end %>
              <option value="<%= item%>"<%if item == @product.date.strftime("%H").to_i%> SELECTED<%end%>><%= item%></option>
          <% end %>
        <% else %>
          <% for item in 1..12 %>
            <% time2 = @product.date.strftime("%H").to_i
            if time2 > 12
              am = false
            else
              am = true
            end
            if time2 == 0
              time2 = 12
              am = true
            elsif time2 == 12
              am = false
            end
%>
            <% if time2 > 12%>
              <option value="<%= item%>"<%if item == (time2 - 12)%> SELECTED<%end%>><%= format_hour(item)%></option>
            <% else %>
              <option value="<%= item%>"<%if item == time2%> SELECTED<%end%>><%= format_hour(item)%></option>
            <% end %>
          <% end %>
        <% end %>
          <%else%>
            <% if return_timesetting == 0%>
          <% for item in 0..23 %>
            <option value="<%= item%>"<%if item == Time.zone.now.strftime("%H").to_i %> SELECTED<%end%>><%= item%></option>
          <% end %>
        <% else %>
          <% for item in 1..12 %>
            <option value="<%= item%>"<%if item == time %> SELECTED<%end%>><%= format_hour(item)%></option>
          <% end %>
        <% end %>

      <%end%>
          </select>
          :
          <select name="minute" id="minute">
          <% if controller.action_name == "edit"%>
              <% [0,5,10,15,20,25,30,35,40,45,50,55].each do |item| %>
              <option value="<%= item%>"<%if item == @product.date.strftime("%M").to_i%> SELECTED<%end%>><%= format_minutes(item) %></option>
          <% end %>
          <%else%>
        <% [0,5,10,15,20,25,30,35,40,45,50,55].each do |item| %>
          <option value="<%= item%>"><%= format_minutes(item) %></option>
        <% end %>

      <%end%>
          </select>

          <% if return_timesetting == 1%>
            <% if am == true
              selected = "am"
              else
                selected = "pm"
              end%>
            <%= select_tag "am_pm", options_for_select(["am", "pm"], selected)%>
          <% end %>

        <%= f.date_select 'date' %>  
          </p>


<p>
  <%= f.label :description, t("products.description") %><br />
  <%= f.text_area :description, :rows => 3 %> <br />
  <%= f.check_box :public, :checked => (@product.new_record? ? current_user.public_events :  @product.public) %>
  <%= f.label t("products.set_public"), :for => "product_public" %>
</p>




        <input type="hidden" name="date" value="<%=@date%>" id="date" />

1 Ответ

0 голосов
/ 24 января 2012

Я думаю, что селектор использует часовой пояс UTC, отличный от вашего часового пояса, чтобы глубже понять проблему, попробуйте метод Time.now, чтобы увидеть время.Если проблема заключается в разнице во часовом поясе, используйте utc_offset в вашем селекторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...