ruby-on-rails - 带有 simple_form gem 的 Hstore 错误消息 - Ruby on Rails
问题描述
我有一个嵌套形式:
= simple_form_for(@item) do |f|
= f.input :name
-# Nested form
= f.simple_fields_for :content, OpenStruct.new(@item.content) do |builder|
- @item.category.fields.each do |field|
= render "items/fields/#{field.field_type}", field: field, f: builder
我想在必填字段下显示一条错误消息(如果它为空)。目前,在我的Item
模型中,我有一个验证块来检查hstore
字段是否是必需的并且是否为空:
serialize :variations, Hash
store_accessor :variations
validate :validate_variations
validates_presence_of :name
def validate_variations
category.fields.each do |field|
if field.required? && variations[field.name].blank?
errors.add field.name, "must not be blank"
end
end
end
如果我使用一个简单的错误块,上面的代码就完美了:
- if target.errors.any?
- target.errors.full_messages.each do |message|
= message
但是当我想用户simple_form
错误消息时,它不会触发任何东西。我的hstore
领域:
= f.input field.name, error: "Please enter a valid #{field.name}"
有没有办法在当前字段下方显示hstore
字段的错误消息?simple_form
红宝石:2.7.1
,导轨:6.0.3
解决方案
推荐阅读
- typescript - 如何使用 Quasar 框架访问 Vuex 存储模块操作中的 Vue 路由器?
- docker - libc::recv 不会在 docker 上返回
- capl - 按地址读取内存 - 读取超过 255 个字节
- powerbi - dax 过滤器产生不同的结果
- python - 以正确的方式为python插入方法使用索引
- c# - C# Windows 服务无法将关闭事件记录到远程 API
- android - 为什么此 SharedPreference 可能会在写入之间间歇性地返回 true,是否会不正确地使用 SharedPreferences 或 Android 错误?
- android - lastLocation 返回一个旧位置
- git - 如何使用没有 gradle 的 jitpack.yml 安装 android-ndk?
- next.js - 您是否应该对具有任何动态内容的页面使用下一个/链接(预取的客户端转换)?