Rails 应用程序 config.time_zone 在填充“/edit”视图的表单字段时不适用

2023-11-21

我在 Rails 应用程序中指定了 config.time_zone,但表单字段中检索到的时间仍然呈现为 UTC(这会在更新时产生问题)。难道不应该将其转换为指定区域的当地时间吗?

/config/application.rb(仅限相关行):

module ExampleSite
    class Application < Rails::Application

        config.time_zone = 'Central Time (US & Canada)'
    end
end

/events/edit.html.erb(完整文件):

<h1>Edit This Event</h1>
<%= form_for(@event) do |f| %>
    <%= render 'fields', :f => f %>
    <div class="actions">
        <%= f.submit "Update Event" %>
    </div>
<% end %>

/events/_fields.html.erb(仅相关行:)

<div class="field">
    <%= f.label      :time_start, "Start Time" %><br />
    <%= f.text_field  :time_start, :class => "datetimefield" %>
</div>
<div class="field">
    <%= f.label      :time_end, "End Time (if applicable)" %><br />
    <%= f.text_field  :time_end, :class => "datetimefield" %>
</div>

当我输入日期时间字符串来创建新事件时,该值会正确保存(以 UTC 格式)并根据需要在我的视图中呈现(以本地时区表示)had正在渲染 UTCbeforeconfig.time_zone 开关(所以我知道已经进行了开关)。

但是,当我去编辑事件的任何其他属性时,呈现到 /edit 视图中的表单字段的时间是 UTC 时间 - 这意味着当我更新事件时,时间会重新保存,就好像时间已经已重新输入并假定为本地时间,这会将时间移动 5 小时(我的本地时间与 UTC 的差异),因为系统将“更新的”时间属性转换为 UTC 进行存储。

如何在我的表单字段中呈现本地化时间?

运行Rails 3.0.5,部署到Heroku(尽管开发和生产环境都存在问题)


事实证明,真正的问题在于文本字段本身。

我的“config.time_zone”设置在“index”和“show”视图中工作得很好(没有任何额外的方法或黑客),并且它在“edit”视图中也工作,只要我使用 datetime_select 代替一个文本字段的。

由于这对我来说不是一个选择(我使用的是 jQuery UI 的 DatePicker,它需要一个 text_field),所以我调查了 text_field 特定问题并回答了我自己关于该主题的另一个 StackOverflow 问题.

如果您遇到 text_field 问题,请查看该问题/答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 应用程序 config.time_zone 在填充“/edit”视图的表单字段时不适用 的相关文章

  • “gem install Rails”因 DNS 错误而失败

    rvm use Using home owner rvm gems ruby 2 1 2 gem install rails ERROR While executing gem Gem RemoteFetcher FetchError Er
  • zend框架验证模型中的数据而不是表单中的数据

    使用 Zend Framework 2 在我的应用程序中 要编辑数据库中的数据 可以编译 html 表单或发送 http post 请求 我的服务器作为 Web 服务实现 在第二种情况下 不会呈现表单 问题 如果当服务器收到不是从表单发送而
  • CanCan load_and_authorize_resource 触发禁止属性

    我有一个使用强参数的标准 RESTful 控制器 class UsersController lt ApplicationController respond to html js def index users User all end
  • Unicorn + Rails + 大型上传

    我试图在使用 Rails 在 Heroku 上运行 Unicorn 时允许进行大型上传 但我意识到任何大型上传可能需要比 Unicorn 工作线程的超时时间更长的时间 这意味着 我见过这种情况发生 Unicorn 主进程将杀死上传大文件的工
  • 我可以在 render.js 上执行的视图中使用 CoffeeScript 吗?

    我需要做什么才能在 Rails JS 视图中使用 CoffeeScript 例如 def index format js render layout gt false end 我需要做什么才能让 Rails 使用index js coffe
  • 在 html 中显示表单时使用 table 标签是不是不好的设计?

    我一直听到这样的话div标签应该用于布局目的 而不是table标签 那么这也适用于表单布局吗 我知道表单布局仍然是一个布局 但似乎使用以下命令创建表单布局divs 需要更多html and css 因此 考虑到这一点 表单布局应该使用div
  • 仅使用 HTML 正确填充电子邮件

    对于作业 我需要放置一个form在我的网页中 并让表单填充一封电子邮件供用户发送 我在四处搜寻后写下了这个
  • Rails 可以自动解析从表单 text_field 收到的日期时间吗

    Rails 可以自动解析从表单的文本字段接收到的日期时间吗 in view div class field br div in controller params product updated at yesterday 目前我收到以下错误
  • 使用 Devise 嵌套资源 - Rails3

    我正在尝试设置一个配置文件控制器来与设备注册成员一起使用 我已经创建了Profile模型和控制器并添加了one to one relationship通过增加belongs to member to my 配置文件 rb模型和has one
  • 如何在自定义类上使用 ActiveModel 验证和回调?

    我正在尝试在自定义类上使用 ActiveModel 验证和回调 class TestClass include ActiveModel Validations define model callbacks validate attr acc
  • 提交表单时显示警告框

    所以我有这两页 pageOne php and pageTwo php 表格在pageOne php
  • 缓存日期早于 1900 年的模型时出现编组错误

    我有一些具有 published on 属性的活动记录模型 当我尝试缓存 Publication on 日期早于 1900 年 1 月 1 日的模型时 出现如下错误 Marshalling error for key popular pro
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • render_views 在 rspec 中做什么?

    我对 rspec 很陌生 对 Rails 也很陌生 在为控制器编写测试用例时 我注意到render views经常使用 这是做什么的 如果我不调用它会发生什么 它呈现控制器规范中的视图 如果不放置 render views 视图将不会渲染
  • jquery 表单使用 .on() 提交

    我正在尝试发送由 jquery 创建的表单 该表单附加到一个 div 中 下面的变量 data 是使用 php 创建的 我将只发布最重要的 js 代码 我尝试了很多带有和不带 on 的方法 但我未能让警报框显示 1 以便我知道代码块实际上已
  • Pandas DatetimeIndex 与 to_datetime 差异

    我正在尝试将 Pandas 系列纪元时间戳转换为人类可读的时间 至少有两种明显的方法可以做到这一点 pd DatetimeIndex and pd to datetime 它们似乎以完全不同的方式工作 In 1 import pandas
  • 与现有表单完美集成的多文件上传器

    我知道这个问题可能太笼统了 但在花了一整天的时间思考这个问题之后 我对这个问题感到非常困惑 任何人都知道上传插件 那会与现有形式轻松集成 我尝试过的所有上传器插件 jQuery 文件上传 Plupload Uploadify Dropzon
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Rails 销毁除最新的 n 条记录之外的所有记录

    如何使用 Rails 的 ActiveRecord 销毁除最新的 n 条记录之外的所有记录 我可以使用 order 和 limit 获取最新的 n 条记录 但如何销毁逆函数 这些方法中的任何一个都可以做到这一点 Fetch your lat
  • 将 Rails 应用程序从 3.2.6 升级到 3.2.8

    我有一个使用 Rails 创建的 Rails 应用程序3 2 6 现在3 2 8已经发布了 这就是我更新应用程序所需要做的一切吗 Edit Gemfile 改变线路gem rails 3 2 6 to gem rails 3 2 8 Run

随机推荐

  • 找到不在列表中的最小整数

    我的一位同事使用了一个有趣的面试问题 假设给您一个非常长的 未排序的无符号 64 位整数列表 你如何找到最小的非负整数does not出现在列表中 后续 既然已经提出了明显的排序解决方案 你能比 O n log n 更快地完成它吗 后续 您
  • 查找“nan”并将其替换为数字

    我想替换数组中的数字 3 而不是所有 nan 这是我的代码 train train replace nan int 3 但我的数组没有任何变化 你能指导一下吗 您可以使用np isnan import numpy as np train n
  • 从 ExceptionLogger 引用操作参数

    我想利用新方法来全局记录错误 我写了一个继承的类ExceptionLogger并覆盖Log 方法 然后将其注册为替代品 public class TraceExceptionLogger ExceptionLogger public asy
  • 在 .NET 中创建插件环境的最佳方法

    我读了这篇文章如何在 NET中加载插件 我实在看不出微软的System Addin命名空间有什么高明之处 为什么我不能在 bin 目录中有一个插件文件夹 用户可以将程序集放入其中以实现我设计的界面 然后 我可以使用反射来创建插件类的实例 并
  • Phonegap 在应用程序运行时启用 GPS/位置

    我正在使用 jquery ui maps 和 HTML5 地理位置向用户显示位置列表 我需要利用用户的地理位置 所以 这是用例 用户未启用 GPS 定位服务 用户打开应用程序并导航到调用的视图导航器 地理位置获取用户的位置 应用程序出错并通
  • 尝试理解 javascript 中 for 循环内的递归

    我一直盯着这个问题的答案 甚至在每次迭代中写下变量之类的东西 我只是不明白这里的过程 当我输入控制台日志时 我看到 permute 在到达此行之前被调用 input length 1 次 input splice i 0 ch 当我完全迷失
  • 删除 ttk 组合框鼠标滚轮绑定

    我有一个 ttk 组合框 我想从鼠标滚轮解除绑定 以便在组合框处于活动状态时使用滚轮滚动不会更改值 而是滚动框架 我尝试过解除绑定以及绑定到空函数 但都不起作用 见下文 import Tkinter as tk import ttk cla
  • 从 9i 客户端连接到 11g 数据库时,ORA-01017 用户名/密码无效

    我正在尝试从具有 9i v9 2 0 1 客户端的 PC 连接到 11g v11 2 0 1 0 上的架构 它似乎可以很好地连接到某些模式 但不是这个 它返回一个ORA 01017 Invalid Username Password每次都会
  • 区分带有默认值和无值的&可选参数

    根据功能在 GigaMonkeys 上 Common Lisp 通过以下方式支持可选位置参数 optional并且默认值可以任意设置 默认的默认值为nil defun function mandatory argument optional
  • 如何通过 MVVM 为 DataGrid ItemSsource 设置过滤器

    我有一个DataGrid绑定到一个集合视图源在 XAML 中
  • Next.js React 应用程序中未定义窗口

    In my Next js我似乎无法访问该应用程序window 未处理的拒绝 ReferenceError 窗口未定义 componentWillMount console log window innerHeight window inn
  • 如何批量发送包含多个 url 的多部分 html 帖子?

    我正在与 gmail api 交谈 并希望对请求进行批处理 他们在这里有一个友好的指南 https developers google com gmail api guides batch 这表明我应该能够使用多部分 混合并包含不同的网址
  • Android 中使用 XML 布局的自定义视图

    我有一个 ListAdapter 其中有很多不同的行布局 为了获得干净的代码 我想将视图类中适配器的 getView 的行布局外包 是否可以将 XML 布局扩展为自定义视图 我只找到了 LayoutInflater 但它返回一个 View
  • 如何从列表中查找不存在于r中另一个列表中的元素

    我有两个具有相同向量但长度不同的列表 list1 lt list a 1 10 b 3 20 list2 lt list a c 2 5 8 b c 3 5 11 20 我想从每个向量中找到元素list1不存在于相应的向量中list2 除了
  • Typedef 结构与结构? |定义区别|

    以下块位于 main 在每个函数之前 全局范围 第一块 struct flight int number int capacity int passengers 与此相反 您可以创建数组 指针 变量 var 它只定义了这一自定义数据类型的一
  • 如何使用 RELAX NG 模式和 JAXP 验证 XML 文档?

    我想使用 RELAX NG 模式验证 XML 文档 并且我想使用JAXP 验证 API 通过谷歌搜索 我似乎可以使用Jing和ISO RELAX JARV 至 JAXP 桥 不幸的是 将两者添加到我的类路径后 我无法让它工作 SchemaF
  • 在 Mac 上将 python 模块安装到非默认版本的 python

    我的 Mac 上安装了几个不同版本的 Python 默认版本是 2 5 因此当我安装模块时 它会安装到 2 5 我需要能够将一些模块安装到不同版本的 Python 因为我正在处理使用不同版本的项目 有人知道如何实现这一目标吗 感谢您的帮助
  • 创建图形并将其另存为位图

    我有两个问题 1 我有一个PictureBox并将其 Dock 设置为 Fill 当我调整大小时Form我无法创建图形PictureBox那是延长的 问题是什么 2 我想转换在PictureBox to Bitmap并将其另存为 JPG 或
  • 使用 AJAX 控件 v7 限制 Bing 地图上的最小/最大缩放?

    我正在开发一个使用 Bing 地图 AJAX 控件 v7 的网站 我需要做的一件事是限制缩放级别 以防止用户放大超过某个级别或缩小超过某个级别 我在 Map 对象上发现了一个 getZoomRange 方法 在检查它之后 它只是返回一个具有
  • Rails 应用程序 config.time_zone 在填充“/edit”视图的表单字段时不适用

    我在 Rails 应用程序中指定了 config time zone 但表单字段中检索到的时间仍然呈现为 UTC 这会在更新时产生问题 难道不应该将其转换为指定区域的当地时间吗 config application rb 仅限相关行 mod