非常简单,我需要禁用特定列的时区转换。我将手动处理任何TZ转换,但我需要Rails 3来放弃写和读取以及任何AREL功能的转换。但是,我不想禁用非指定属性的转换。
好的,我知道如何禁用它进行阅读:
self.skip_time_zone_conversion_for_attributes = [:test_timestamp]
但这仅适用于阅读。在编写属性时,它仍然会转换为UTC(是的,我在3.2.8中对此进行了测试)。
答案 0 :(得分:0)
正如您所说,from lxml import html
import requests
url = 'http://www.amazon.com/dp/B00SGGQRNO'
response = requests.get(url)
tree = html.fromstring(response.content)
bullets = tree.xpath('//span[@class="strings"]/text()')
print ('Bullets: ',bullets)
仅适用于阅读,这使整个功能毫无用处。
有两种可能的解决方案:
1 .- 接受有时会用UTC写的,并相应阅读:
skip_time_zone_conversion_for_attributes
使用def starts_at # override reader method
attributes['starts_at'].in_time_zone(whatever_timezone)
end
时,缺点:覆盖方法已被修改
2 .- 将时间值存储为字符串,负责以正确的格式写入值,并在所需的时区中读取它们。
MyModel.pluck(:starts_at).
缺点:一个人失去了使用日期运算符(小于,大于)查询数据库的能力。