小编Dea*_*ler的帖子

ruby on rails多参数属性*如何*工作(datetime_select)

我相信那datetime_select是黑魔法.我真正想弄清楚是整个1i,2i,3i,4i...多个参数的东西.具体如何在后端处理(activerecord,还有其他什么?).订单号码后面的'i'是什么?它是一个类型说明符吗?如果是这样,还有哪些其他类型?我已经阅读了date_helper.rb的来源,它非常不透明.

这是我的动机:

我的:datetime模型中有一个列,我想通过两个text_fields 在视图中输入:一个用于日期,一个用于时间.它们需要经过验证,合并在一起,然后存储到datetime列中.最终我将使用javascript日历在日期字段中输入日期.

有没有人这样做过?我尝试使用虚拟属性(除了基本的railscast之外令人难以置信的未记录),问题是当创建一个新的activerecord对象并且具有nil属性时,虚拟属性失败(strftimenil类的未定义方法,这是有道理的).

有人有任何建议或最佳做法吗?谢谢!

validation datetime ruby-on-rails multiparameter

17
推荐指数
1
解决办法
8701
查看次数

如何将 SQLAlchemy 声明性模型拆分为模块?

我需要定义多个包含 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)

python sqlalchemy

5
推荐指数
1
解决办法
4090
查看次数