【问题标题】:How do I handle date objects in ruby on rails forms?如何在 ruby​​ on rails 表单中处理日期对象?
【发布时间】:2010-10-18 11:35:18
【问题描述】:

我正在使用创建 3 个选择列表的 Rails 助手,以便让用户选择日期。如果我为助手指定一个名称,它会将所有 3 个选择列表设置为具有该名称,然后只有最后一个通过(它会覆盖前一个)。我需要知道的是:获取一组 3 个选择列表(日、月、年)并将它们组合以创建日期对象并将其保存到我的数据库中的最佳方法是什么?

这是我的日期字段:

<%= select_date Date.today, { :order => [:month, :day, :year], :start_year => Date.today.year, :end_year => Date.today.year + 3 } %>

这是传递给我的控制器的参数(从我的开发日志中吐出)

Parameters: {"date"=>{"month"=>"4", "day"=>"9", "year"=>"2009"}, 
"action"=>"create", "controller"=>"shows", 
"show"=>{"headline"=>"for example, \"Parking lot is next to the bookstore on Main Street\"", "venue_id"=>{"venue_id"=>""}, "cents"=>"00", "dollars"=>"00"}, 
"user_id"=>"3", "load_in"=>"-2", "show_time"=>"-2", "query"=>"Type venue name & location here...", "doors"=>"-2"}

如您所见,日期已过。理想情况下,我希望将日期作为可接受的日期对象传递给我的控制器。此外,我希望它在“显示”哈希中传递,因为它是显示数据。这可以通过一些简单的导轨修改来实现吗?还是我必须写一些 JS(……我认为这个解决方案有点脏)?

【问题讨论】:

    标签: ruby-on-rails ruby forms select date


    【解决方案1】:

    我认为您想要date_select 而不是select_date,因为您希望它与您的节目对象中的特定字段相关联。

      date_select("show", "date", :default => Date.today, 
        :order => [:month, :day, :year], :start_year => Date.today.year, 
        :end_year => Date.today.year + 3)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 2016-01-08
      • 2011-10-12
      相关资源
      最近更新 更多