Ruby on rails haml和RubyonRails出生日期字段语法
所以我一直在学习ror并尝试一些表单示例。 web上的大多数示例都是erb格式,我的文件是.haml格式。我试图写一个静态的dob字段,它需要一天,一段时间,一年Ruby on rails haml和RubyonRails出生日期字段语法,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,haml,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Haml,所以我一直在学习ror并尝试一些表单示例。 web上的大多数示例都是erb格式,我的文件是.haml格式。我试图写一个静态的dob字段,它需要一天,一段时间,一年 view %label{:for => "patient_dob"} DOB %date_select {Date.today,start_year => getBirthDateStart(), :end_year => getBirthDateEnd() } module ApplicationHelper
view
%label{:for => "patient_dob"} DOB
%date_select {Date.today,start_year => getBirthDateStart(), :end_year => getBirthDateEnd() }
module ApplicationHelper
def getBirthDateStart()
Time.now.year - 100
end
def getBirthDateEnd()
Time.now.year
end
end
我知道我的代码没有多大意义,但希望它能解释我想做什么。有人能告诉我正确的方向吗。%date\u select”不是HTML元素。您将使用“%”创建%title、%p之类的内容
您需要使用“%”直接创建HTML。在本例中,您将使用“%select”%来创建的选择框。在RubyonRails中,您将调用表单帮助器来创建这样的集合
=label_tag "patient_dob", "DOB"
=date_select "patient", "dob", { start_year: 100.years.ago.year, end_year: Date.today.year, default: Date.today}
文档:%date\u select”不是HTML元素。您将使用“%”创建%title、%p之类的内容
您需要使用“%”直接创建HTML。在本例中,您将使用“%select”%来创建的选择框。在RubyonRails中,您将调用表单帮助器来创建这样的集合
=label_tag "patient_dob", "DOB"
=date_select "patient", "dob", { start_year: 100.years.ago.year, end_year: Date.today.year, default: Date.today}
文档:在Haml中,您可以使用
%
来启动标记,并使用=
等助手方法来选择日期。您可以这样重写您的示例:
=label_tag :patient_dob, "DOB"
=date_select :patient, :dob, :start_year => 5.years.ago, :end_year => 5.years.from_now
还有几件事:
- 在Ruby中,使用camelCase方法名(比如
getBirthStartYear
)是非传统的。坚持使用snake\u case
,您的代码将与Rails和Ruby社区的其余部分保持一致
- 从方法调用中删除括号
()
也是一个好主意。这有助于模糊什么是属性,什么是方法的界限,我认为这有助于更好的内部API设计。出于这个原因,我还鼓励您放弃get
,转而选择更有意义的东西,比如新患者\u dob\u开始年
- 不过,老实说,为了简单明了,如果没有理由,我会避免使用其他方法
5年前
或5年后
非常容易阅读,并且不需要其他程序员查找方法定义的位置
在Haml中,您可以使用%
来启动标记,并使用=
等辅助方法来选择date
。您可以这样重写您的示例:
=label_tag :patient_dob, "DOB"
=date_select :patient, :dob, :start_year => 5.years.ago, :end_year => 5.years.from_now
还有几件事:
- 在Ruby中,使用camelCase方法名(比如
getBirthStartYear
)是非传统的。坚持使用snake\u case
,您的代码将与Rails和Ruby社区的其余部分保持一致
- 从方法调用中删除括号
()
也是一个好主意。这有助于模糊什么是属性,什么是方法的界限,我认为这有助于更好的内部API设计。出于这个原因,我还鼓励您放弃get
,转而选择更有意义的东西,比如新患者\u dob\u开始年
- 不过,老实说,为了简单明了,如果没有理由,我会避免使用其他方法
5年前
或5年后
非常容易阅读,并且不需要其他程序员查找方法定义的位置
谢谢你的提示。在上面的示例中,有没有办法将格式更改为年月日?是的。只需添加一个:order=>[:月、日、年]
选项。看看谢谢你的提示。有没有办法在上面的例子中把格式改为年月日?是的。只需添加一个:order=>[:月、日、年]
选项。看看