我使用
Ruby on Rails 3为用户创建一个表单,在那里他可以保存他的出生日期.控制器和模型周围的所有操作都很好.但是我对这种形式的造型感到困扰.
对于我的表单中的每一个选择,我会围绕它包围一个div,风格,通常工作正常. date_select的问题是它生成三个选择框,它们都被包装到一个div中.作为Haml的例子,该字段的代码如下所示:
.select-wrapper = f.date_select :birthday,:start_year => Time.now.year - 120,:end_year => Time.now.year
.select_wrapper在所有三个选择框周围创建一个div,但是我需要每个选择框来拥有自己的包装器.有什么办法可以解决这个问题吗?
任何帮助将不胜感激.谢谢.
解决方法
方法1(难)
覆盖date_select代码以处理此特殊实例:https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/date_helper.rb#L283
方法2(容易)
使用jQuery:
// Find all select Boxes that have an ID attribute containing "birthday" // and wrap a div tag around them with a certain class $('select[id*="birthday"]').wrapAll('<div class="select_wrapper">');