我有一个嵌套的表单:
= 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
字段的错误消息?
Ruby:2.7.1
,
滑轨:6.0.3