好吧,我正在慢慢掌握这一点,但我需要一些更多的帮助。Ruby on Rails - 多参数赋值和attr_accessor和12_hour_time
我在我的视图中使用time_select,因此我正在处理多参数分配。检查。
<%= pt.time_select :time, :twelve_hour => true, :minute_step => 5 %>
,但我做的顽皮事,使用它与不在数据库中的属性:
attr_accessor time
因此,因为它可以不看分贝,它可以” T型件一起什么多参数分配应该是,所以我得到以下错误:
1 error(s) on assignment of multiparameter attributes
因此我使用,我发现here信息:
composed_of :time,
:class_name => 'DateTime',
:mapping => [%w(DateTime to_s)],
:constructor => Proc.new{ |item| item },
:converter => Proc.new{ |item| item }
其他有用的链接:rubyonrails.org | apidock.com
这个删除错误,但现在的问题是,我使用的插件不能正常工作,我想。我正在使用http://code.google.com/p/rails-twelve-hour-time-plugin/
。目标是,我试图让时间选择有3个下拉菜单:hh
:mm
am/pm
。
所以问题是:我需要如何调整我的composed_of method
才能让插件正确转换它?或者有没有更好的方法来处理这种疯狂?
我不知道我需要什么映射器/构造函数/转换器。现在,对象保持小时和分钟,除非小时不转换为24小时(插件应该照顾,我认为)。
'composed_of'不工作对我来说,同样的错误与attr_accessor。但是,设置'columns_hash'运行良好,谢谢! – 2012-07-23 06:10:32
'columns_hash'修复几乎为我工作,但它节省了UTC时间,并忽略夏令时。花2小时'Time.zone.parse'试验和'.in_time_zone'我终于想通了这个问题后 - 改变从'time'了'sql_type'到'时间戳和timezone'使得它完美地工作:'columns_hash [“ARRIVAL_TIME “] = ActiveRecord :: ConnectionAdapters :: Column.new(”arrival_time“,nil,”timestamp with timezone“)''。这是在Rails项目上使用PostgreSQL,所以YMMV。 – Simon 2012-08-13 21:47:07
我意识到我回复了一个超过一岁的帖子,顺便说一句,但我想我会提及时区的事情,以防其他任何人在未来受到挫折:) – Simon 2012-08-13 21:57:36