我有一个可重复使用的字段模板,名为_field.html.haml,看起来像(以haml为单位):
= f.label field
= f.send(field_type, field, :class => field_type)
这样做的好处是可以从父表单模板调用它并提供可重用性。这让我可以根据字段类型动态呈现表单字段。调用模板如下所示:
= form_for(@model) do |f|
= render :partial => 'field', :locals => { :field => :first_name, :field_type => :text_field }
= render :partial => 'field', :locals => { :field => :last_name, :field_type => :text_field }
如何根据标签文本向此_field.html.haml模板添加占位符文本的自动生成?也许正确的问题是标签hdlper用于将字段名称转换为大写英语短语的代码是什么?
即。代码看起来像:
= f.send(field_type, field, :class => field_type, :placeholder => #INSERT CODE HERE to get friendly placeholder text)
答案 0 :(得分:2)
label_tag
方法使用`String#humanize'使其看起来更漂亮(http://api.rubyonrails.org/classes/String.html#method-i-humanize)。所以在你的例子中你可以这样做:
= f.send(field_type, field, :class => field_type, :placeholder => field.to_s.humanize)
如前所述,您应该查看可用的表单构建器。他们抽象了很多与制作漂亮表格相关的痛苦。一些链接是: