我相信那datetime_select是黑魔法.我真正想弄清楚是整个1i,2i,3i,4i...多个参数的东西.具体如何在后端处理(activerecord,还有其他什么?).订单号码后面的'i'是什么?它是一个类型说明符吗?如果是这样,还有哪些其他类型?我已经阅读了date_helper.rb的来源,它非常不透明.
这是我的动机:
我的:datetime模型中有一个列,我想通过两个text_fields 在视图中输入:一个用于日期,一个用于时间.它们需要经过验证,合并在一起,然后存储到datetime列中.最终我将使用javascript日历在日期字段中输入日期.
有没有人这样做过?我尝试使用虚拟属性(除了基本的railscast之外令人难以置信的未记录),问题是当创建一个新的activerecord对象并且具有nil属性时,虚拟属性失败(strftimenil类的未定义方法,这是有道理的).
有人有任何建议或最佳做法吗?谢谢!
我需要定义多个包含 SQLAlchemy 声明性类的模块。我在每个调用的模块中编写了一个函数,subclass_base()在实例化后将 Base 实例declarative_base()传递给该函数。第一个模块的subclass_base()调用正确地对 Base 实例进行子类化,并且子类从函数外部可见。第二个模块的调用完成时没有错误,但从函数内部和外部来看,所有子类Base.__subclasses__仅在某些时候反映出来。这是一个最小的工作示例,每个模块中只有 1 个类定义:
模型文件
from sqlalchemy import Column, Integer, String
def subclass_base(Base):
class Roles(Base):
__tablename__ = 'roles'
id = Column(Integer, primary_key=True)
name = Column(String(32))
Run Code Online (Sandbox Code Playgroud)
模型b.py
from sqlalchemy import Column, Integer, String
def subclass_base(Base):
class Locations(Base):
__tablename__ = 'locations'
id = Column(Integer, primary_key=True)
name = Column(String(64))
Run Code Online (Sandbox Code Playgroud)
测试.py
from sqlalchemy.ext.declarative import declarative_base
from modela import subclass_base as amod
from modelb import subclass_base as bmod
def test():
count = …Run Code Online (Sandbox Code Playgroud)