css - Rails 3.1 - 有错误的字段

标签 css validation ruby-on-rails-3.1

我正在使用 Rails 辅助方法来构建表单,并使用验证。

只要这些验证之一失败,rails 就会将相应的输入和标签包装在 field_with_errors 标记中。这很好。

但是,由于某些原因,rails 将输入和标签包装在不同的 div 中,使得样式设置变得非常困难:

例如:

<div class="field">
    <div class="field_with_errors">...label...</div>
    <div class="field_with_errors">..input ...</div>
</div>

我需要的是:

<div class="field">
    <div class="field_with_errors">...label & input...</div>
</div>

有谁知道我如何实现这一目标?

最佳答案

一种方法是用 span 替换 div,这不会破坏格式,因为它们不是 block 级元素。为此,请将其放在初始化程序中的某个位置:

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
  "<span class=\"field_with_errors\">#{html_tag}</span>".html_safe 
end

另一种方法是简单地使原始 div 不显示为 block 级元素,并在 CSS 文件中使用此行:

.field_with_errors { display: inline-block; }

但是 some of the older browsers 并不完全支持这一点(看看你的 IE6 和 7)。

关于css - Rails 3.1 - 有错误的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7626461/

相关文章:

html - 如何在 Angular 应用程序中显示电子邮件,就像它在电子邮件客户端中显示一样

css - d3 中鼠标悬停时使矩形/圆形变暗

html - Flex 下拉菜单的子菜单未在正确的位置打开

android - 在不单击android中的提交按钮的情况下验证编辑文本字段中的电子邮件、姓名电话等

jquery - 如何使用Jquery制作输入文本的格式验证功能

unit-testing - 测试 Rails 3.1 时验证模拟用户

jquery - 如果找到 span 那么如何找到它的当前 tr 并使该 tr 变黄

php - 代码点火器 : Validating of two Date fields

ruby-on-rails - 使用 godaddy 在 heroku 上添加 SSL 证书

ruby-on-rails - 使用 ActiveRecord 时 Rails 日志的格式