2015-10-05 24 views
1

我在导轨具有表单域查看:日期在Rails的形式

<%= f.date_select :Date_of_Birth %>

这显示一个下拉菜单,只有过去的10年,我需要,如果我回到1800年更好可以只输入一年,而不是有200个项目的下拉列表。我还需要选择不填写日期,即空白。

我在这里找到了几个提示,在stackoverflow,但他们不使用这种格式,这是我生成的。怀疑,因为我使用Rails 4

+0

当你传递占位符值时会发生什么? date_field(“用户”,“born_on”,值:“1984-05-12”) –

+0

我不会跟随我要做的事情。我非常喜欢Rails和PostgreSQL。 – Greg

回答

4

这里是如何扩大选择的范围:

<%= f.date_select :Date_of_Birth, start_year: 1800, end_year: Time.now.year %> 

拥有全年文本输入字段也不是那么容易的,但它可以做,通过添加discard_year: truedate_select

然后在date_select输入之后添加一个文本字段标记,其名称为name_of_your_object_Date_of_Birth(1i),其中“name_of_your_object”是您在form_for标记中使用的名称。检查在您的浏览器中产生的date_selects的HTML字段。

+0

谢谢。第一个建议解决了一个问题。那么两个问题。随着日期的范围,人们可以输入日期而不是选择日期(当然,现在日期在我想要的范围内)。 但是我不能在表格上留下空白的日期,我并不总是有这些信息。 也许我会生成两个编辑或输入表格,一个没有日期,因为我通常不需要它,另一个是日期。 但我会看看你的第二个建议。我得想想。 – Greg

+1

<%= f.date_select:Date_of_Birth,start_year:1800,end_year:Time.now.year,:include_blank => true%> –