ruby-on-rails – 嵌套模型,表单和date_select FormHelper集成

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 嵌套模型,表单和date_select FormHelper集成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在嵌套模型上关注了Ryan Bates tutorial.我的几个嵌套模型都有与之关联的日期.在我的迁移中,它们实际上是“日期”类型.

我尝试过的一些事情和我遇到的问题

> date_select – 可以处理表单对象前缀,但不能处理嵌套模型属性
> select_year – 不适用于表单对象
>通过使用(Time.now.year – 100)..(Time.now.year)填充年份的常规选择并覆盖attr访问器start_date和end_date以获取select中的值以形成日期并传递背部.仅适用于创建,而不适用于更新
>使用(Time.now.year – 100)..(Time.now.year)将字段的数据类型更改为字符串并使用填充年份的常规选择工作,但是在编辑时,它不会使用当前信息重新填充选择

任何想法或提示都会有所帮助.

编辑:before_save似乎更有前景但由于某种原因,值在保存之前是零,但在log dump.中可见

编辑2:有趣的是,这似乎只是’更新’上的问题,而不是’创建’.

解决方法

这是解决方案:
<% new_or_existing = task.new_record? ? 'new' : 'existing' %>
  <% prefix = "project[#{new_or_existing}_task_attributes][]" %>

<% fields_for prefix,task do |t| -%>
   <%= t.date_select(:start_date,:index => task.id || nil) %>
<% end -%>

以下是其工作原理的解释:

http://agilerails.wordpress.com/2009/03/11/date_select-time_select-doesnt-work-with-auto_prefix-object/

原文链接:https://www.f2er.com/ruby/267983.html

猜你在找的Ruby相关文章