Html 在rails中使用跨度而不是标签
使用:Html 在rails中使用跨度而不是标签,html,ruby-on-rails,ruby-on-rails-3,forms,Html,Ruby On Rails,Ruby On Rails 3,Forms,使用: 将创建一个标签: 注册 我希望它是这样一个跨度: 注册如果您没有创建标签,则不应使用标签帮助程序。元素上不存在的属性 将代码替换为您编写的底线,但不包含的: <%= f.label :registration,"Registration" %> 注册 您可以使用自定义表单生成器修改表单标签输出到您的需求的方式。这里有一个简短的概述-。关于这个主题还有一个更全面的说明,但这是一个专业(付费)插曲。元素不支持for-属性。因此,使用-元素而不是是没有意义的 为什么不使用(
将创建一个标签:
注册
我希望它是这样一个跨度:
注册
如果您没有创建标签,则不应使用标签
帮助程序。
元素上不存在的属性
将代码替换为您编写的底线,但不包含
的:
<%= f.label :registration,"Registration" %>
注册
您可以使用自定义表单生成器修改表单标签输出到您的需求的方式。这里有一个简短的概述-。关于这个主题还有一个更全面的说明,但这是一个专业(付费)插曲。元素不支持for
-属性。因此,使用
-元素而不是
是没有意义的
为什么不使用(CSS)样式将
设置为所需的结果?
如果只想设置此特定元素的样式,请使用id
-属性
例如,要使标签文本变为红色,请使用以下方法:
雇员再培训局:
只需在红宝石外写下跨度
#my-label {
text-color: red;
}
我提出了以下解决方案,扩展rails FormBuilder
在应用程序助手中
<span for=<%= :registration %>><%="Registration"%></span>
模块应用程序助手
类TestFormBuildercss_classes.join(“”))
终止
终止
终止
在你看来,你可以使用
module ApplicationHelper
class TestFormBuilder < ActionView::Helpers::FormBuilder
include ActionView::Helpers::TagHelper
def span(name, options = {})
css_classes = []
css_classes = options[:class].to_s if options[:class]
content_tag('span', name, :class => css_classes.join(' '))
end
end
end
ApplicationHelper::TestFormBuilder do | f |%>
#你的代码
这很有效,谢谢你的提问,这让我想到了扩展FormBuilder;)
这些链接帮助了我,你可能想做更多的修改
HTH那么,不要在f.label
中写入span?不允许
-元素包含for
-属性。因此,创建自定义表单生成器并不能解决问题……不允许有包含for
-属性的元素。因此,创建自定义表单生成器并不能解决问题……我想我需要让我的设计师使用标签,而不是span:)。如果您需要标签用于表单字段:是!:)非常感谢你的时间和回答。。我会检查的,这是个好主意。
<span for=<%= :registration %>><%="Registration"%></span>
module ApplicationHelper
class TestFormBuilder < ActionView::Helpers::FormBuilder
include ActionView::Helpers::TagHelper
def span(name, options = {})
css_classes = []
css_classes = options[:class].to_s if options[:class]
content_tag('span', name, :class => css_classes.join(' '))
end
end
end
<%= form_for @<module>, :builder => ApplicationHelper::TestFormBuilder do |f| %>
#your code
<%= f.span(:name) %>
<% end %>