【问题标题】:Rails select_date form nameRails select_date 表单名称
【发布时间】:2011-04-20 14:38:32
【问题描述】:

尽管我很喜欢 Rails,但我一直讨厌以 html 形式处理日期……尤其是当日期不是对象的属性时。

select_date 助手很不错,但它总是会生成这个:

<select name="date[year]" id="date_year">
<select name="date[month]" id="date_month">
<select name="date[day]" id="date_day">

而且我想不出将名称前缀从“日期”更改为其他名称的方法。有没有办法做到这一点?当日期输入不是对象属性时,你们都使用什么?

【问题讨论】:

    标签: ruby-on-rails date forms


    【解决方案1】:

    如果它不是一个对象属性,你只是在使用 rails 日期助手吗?你可能会做得更好。

    我只需要一个简单的文本字段,然后使用 jquery 将其装饰为日期。查看this jQuery date drop-down

    然后,您将在控制器中将其解析为 Date 并执行您需要的任何操作。它只是 params[:super_cool_date] (或其他)

    【讨论】:

    • 我考虑过...问题是我使用的是模态窗口(facebox),它与我使用的日期选择器有问题。
    【解决方案2】:

    您可以使用 :prefix 选项来执行此操作。

    <%= select_date(nil, :prefix => 'payday') %>
    

    生成这个:

    <select id="payday_year" name="payday[year]">
    <select id="payday_month" name="payday[month]">
    <select id="payday_day" name="payday[day]">
    

    这里有更多示例

    http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_date

    【讨论】:

      猜你喜欢
      • 2015-04-19
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多