我正在尝试使用Bootstrap Twitter编写一个帮助方法来简化构建表单。当我尝试将label_tag放入辅助方法时,不会输出任何内容。函数中的每个其他helper_tag方法都不适用于此label_tag。关于我做错了什么的想法?
name是符号,text是标签文本
帮助代码
def bootstrap_form_text_field(name, text)
content_tag :div, class: "control-group" do
label_tag name, text, class: "control-label"
content_tag :div, class: "controls" do
text_field_tag name
end
end
end
查看代码
<%= bootstrap_form_text_field :called_number, "Called Number" %>
输出
<div class="control-group"><div class="controls"><input id="called_number" name="called_number" type="text" /></div></div>
如果有帮助的话,我正在使用ruby-1.9.3-p0和rails 3.2.2。
编辑: 似乎只显示正在调用的最后一个标记助手。我将label_tag复制到text_field_tag的正下方,标签是唯一显示的内容。
答案 0 :(得分:3)
试试这个
def bootstrap_form_text_field(name, text)
content_tag :div, class: "control-group" do
label_tag(name, text, class: "control-label") +
content_tag(:div, class: "controls") do
text_field_tag name
end
end
end
我不确定那个+是否能正常 ,但是如果你在每个级别上有多个标签的话,那就是组合所有标签的结果,你甚至可以将它们组合在一个变量中,然后在当前范围的末尾返回该变量。