Ruby on rails 哪个Rails组件负责解析来自“date\u select”的输入?
可以传递给模型实例。什么Rails组件处理将此输入转换为传递给setter的日期?负责处理日期的Ruby模块是Ruby on rails 哪个Rails组件负责解析来自“date\u select”的输入?,ruby-on-rails,Ruby On Rails,可以传递给模型实例。什么Rails组件处理将此输入转换为传递给setter的日期?负责处理日期的Ruby模块是ActiveSupport,具体来说,是内置于Ruby中的DateTime模块上的扩展 如果您特别询问HTML中的选择框,那将是ActionViewhelper方法,它为date\u select呈现一个选择框 希望这能回答您的问题。这些“多参数属性”(在Rails中称为)在属性分配期间,即在建模期间,转换回单个值。新的或模型。更新属性等方法调用 相关代码可在ActiveRecord的A
ActiveSupport
,具体来说,是内置于Ruby中的DateTime
模块上的扩展
如果您特别询问HTML中的选择框,那将是ActionView
helper方法,它为date\u select
呈现一个选择框
希望这能回答您的问题。这些“多参数属性”(在Rails中称为)在属性分配期间,即在建模期间,转换回单个值。新的或模型。更新属性
等方法调用
相关代码可在ActiveRecord
的AttributeAssignment
模块中的中找到。从其文档字符串中引用:
为需要多个构造函数参数的所有属性类实例化对象。这是通过使用这些参数对列类型或聚合类型(通过组合)对象调用new
来实现的
因此,让这对writed\u on(1)=“2004”
,writed\u on(2)=“6”
,writed\u on(3)=“24”
,将writed\u on
(日期类型)实例化为date.new(“2004”,“6”,“24”)
您还可以在括号中指定类型转换字符,以便在构造函数中使用参数之前对其进行类型转换。使用i
表示Fixnum
和f
表示Float
。如果给定属性的所有值均为空,则该属性将设置为nil
<%= date_select :person, :birth_date %>
{'person' => {'birth_date(1i)' => '2008', 'birth_date(2i)' => '11', 'birth_date(3i)' => '22'}}