我在datetime_select
我的一种形式中使用 Rails 助手。我目前需要更改 、 、 和 的下拉列表,day
并使其成为带有验证的文本框。有没有办法可以指定我想要这些字段的文本框?或者可能是一个不同的帮手来做我需要的?year
hour
minute
这是我的用法:
datetime_select(:campaign, :start_date, :order => [:day, :month, :year, :hour, :minute])
我在datetime_select
我的一种形式中使用 Rails 助手。我目前需要更改 、 、 和 的下拉列表,day
并使其成为带有验证的文本框。有没有办法可以指定我想要这些字段的文本框?或者可能是一个不同的帮手来做我需要的?year
hour
minute
这是我的用法:
datetime_select(:campaign, :start_date, :order => [:day, :month, :year, :hour, :minute])
滚动你自己的简单助手怎么样,比如
def datetime_text_fields(object_name, method)
html = text_field_tag("#{object_name}[#{method}(3i)]", Date.today.day.to_s, :length => 2)
html << select_month(Date.today, :field_name => "#{object_name}[#{method}(2i)]")
html << text_field_tag("#{object_name}[#{method}(1i)]", Date.today.year.to_s, :length => 4)
html << " "
html << text_field_tag("#{object_name}[#{method}(4i)]", Time.now.hour.to_s, :length => 2)
html << ":"
html << text_field_tag("#{object_name}[#{method}(5i)]", Time.now.min.to_s, :length => 2)
end
随意添加更多格式化内容/分隔符等,但它基本上会返回正确的字段名称,以便将轨道标识为 DateTime。Rails 需要命名为date(1i)
、1i = 年、2i = 月等的字段。
老实说,我没有测试它或任何东西,但控制台中的输出看起来很有说服力;)
为什么不自己滚动,只需以与日期选择器助手相同的方式命名输入字段,您就可以在滚动自定义前端时获得所有后端优势。或者使用:order
让您的日期选择器选择月份,并使用一些 javascript 魔术来输入其他输入。
您可以使用 jquery datepicker 并使用与 rails datepicker 相同的命名约定填充隐藏字段。