Rails-嵌套 content_tag
我正在尝试将内容标签嵌套到自定义帮助器中,以创建如下内容:
<div class="field">
<label>A Label</label>
<input class="medium new_value" size="20" type="text" name="value_name" />
</div>
请注意,输入不与表单关联,它将通过 javascript 保存。
这是助手(它会做更多的事情,而不仅仅是显示 html):
module InputHelper
def editable_input(label,name)
content_tag :div, :class => "field" do
content_tag :label,label
text_field_tag name,'', :class => 'medium new_value'
end
end
end
<%= editable_input 'Year Founded', 'companyStartDate' %>
但是,当我调用助手时,不显示标签,只显示输入。如果注释掉text_field_tag,则显示标签。
谢谢!
I'm trying to nest content tags into a custom helper, to create something like this:
<div class="field">
<label>A Label</label>
<input class="medium new_value" size="20" type="text" name="value_name" />
</div>
Note that the input is not associated with a form, it will be saved via javascript.
Here is the helper (it will do more then just display the html):
module InputHelper
def editable_input(label,name)
content_tag :div, :class => "field" do
content_tag :label,label
text_field_tag name,'', :class => 'medium new_value'
end
end
end
<%= editable_input 'Year Founded', 'companyStartDate' %>
However, the label is not displayed when I call the helper, only the input is displayed. If it comment out the text_field_tag, then the label is displayed.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要一个
+
来快速修复:D在
content_tag :div
块内,只会显示最后返回的字符串。You need a
+
to quick fix :DInside the block of
content_tag :div
, only the last returned string would be displayed.您还可以使用 concat 方法:
来源:在 Rails 3 中嵌套 content_tag
You can also use the concat method:
Source: Nesting content_tag in Rails 3
我使用变量和连接来帮助进行更深层次的嵌套。
I use a variable and concat to help with deeper nesting.
使用迭代构建嵌套内容标签有点不同,每次都会让我......这是一种方法:
building nested content tags with iteration is a little different and gets me every time... here is one method: