如何解决插入html_tag类属性-格式错误
我们为表单的字段创建了一个自定义字段错误消息。当发现错误时,我们会通过该字段显示一条消息,向用户说明该字段不能为空。当出现text-danger is-invalid
类时,将显示文本。
我的问题出在以下代码的其他地方:
代码
ActionView::Base.field_error_proc = Proc.new do |html_tag,instance|
case html_tag
...
when /<label/
class_attr_index = html_tag.index 'class="'
if class_attr_index
...
else
%(#{ html_tag.insert html_tag.index('>'),' class="text-danger is-invalid"' }
<div class="invalid-feedback">
#{ /\[(.*)\]/.match(instance.send(:tag_name))[1] }
#{ instance.error_message[0] }
</div>
).html_safe
end
else
html_tag
end
end
此工作的基本方式是捕获html_tag,例如:
<label>Name</label>
我们检查html_tag是否包含'class ='属性(在我们的情况下不包含),然后插入具有所需类的class属性。
所需结果:
<label class="text-danger is-invalid">Name</label>
实际结果:
<label class=""text-danger" is-invalid">Name</label>
有人知道它为什么以一种奇怪的方式设置类以及"
是什么吗?
非常感谢您的帮助,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。