css - 对于使用 f.text_field 创建的字段,不使用 field_with_errors 包装 css div 但适用于 f.input

标签 css ruby-on-rails-3 view simple-form zurb-foundation

我的观点有问题。我正在为样式表使用 zurb foundation,当我在表单中输入错误输入时,我在表单上方收到错误,但包含错误的字段未用红色包裹。进一步研究,没有用于输入字段的 field_with_errors div 包装器。在进一步研究之后,我发现如果我使用 f.input 而不是 f.text_field,我会得到正确的错误包装。

由于 zurb 具有 text_field、text_area 等样式。我正在使用这些样式,但我没有从 rails 获得错误 div。有什么好的解决办法吗?

在这里,我得到了正确的 Zurb 基础样式,但没有 field_with_errors div:

.field
  = f.label :name
  = f.text_field :name, :class => "input-text"

这里我没有得到 Zurb 样式,但元素被 field_with_errors div 包裹:

.field
  = f.label :name
  = f.input :name, :class => "input-text"

所以基本上 f.text_field 助手似乎以某种方式绕过了提供 div 类来显示错误的 Rails View 机制。

最佳答案

f.text_field 是 Rails 表单助手,而不是 simple_form 的助手(因为你用简单表单标记了它,我假设你正在使用它)。由于简单表单仅包装其自身的错误属性,因此它忽略了 Rails 表单辅助属性。

你可能想要的是

= f.input :name, :as => :string

你也不需要你自己的带有 simple_form 的标签,所以我们可以将 f.labelf.text_field 压缩成:

= f.input :name, :as => :string, :label => "Custom label"

如果您不使用 :label 属性,它将默认为符号的名称,在这种情况下您的标签将为“名称”。使用 :label 属性可以为您提供一个名为“自定义标签”的标签。

希望对您有所帮助。

关于css - 对于使用 f.text_field 创建的字段,不使用 field_with_errors 包装 css div 但适用于 f.input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188845/

相关文章:

jquery - 悬停时为每个 <li> 设置粗体

javascript - window.onload 和 getelementbyid 返回 null

ruby-on-rails - 为 Controller 切换 Assets 主机

iphone - UITabBarController - 如何为简单的开关设置动画?

postgresql - 删除 postgreSql 中的所有 View

android - 如何使用 Assets 文件夹中的 CSS 文件加载 URL?

javascript - 将鼠标悬停在动态列表上,在单独的 div 中显示适当的文本

ruby-on-rails - 从不包含 'http' 的字符串中提取 URL

ruby-on-rails - Rails 3 的 Memcached 问题。对象没有被第二次反序列化

SQL View : Finding maximum volume based per day