Ruby on rails 4 如何根据模型名称和属性值向所有简单表单输入添加自定义属性?
我想为simple_表单生成的每个输入添加一个自定义属性。属性值基于模型名称和字段。所以我这样做了:Ruby on rails 4 如何根据模型名称和属性值向所有简单表单输入添加自定义属性?,ruby-on-rails-4,simple-form,Ruby On Rails 4,Simple Form,我想为simple_表单生成的每个输入添加一个自定义属性。属性值基于模型名称和字段。所以我这样做了: # app/inputs/base.rb class Base < SimpleForm::Inputs::Base def input_html_options super['custom-attr'] = "#{object_name}.#{attribute_name}" end end #app/inputs/base.rb 类Base
# app/inputs/base.rb
class Base < SimpleForm::Inputs::Base
def input_html_options
super['custom-attr'] = "#{object_name}.#{attribute_name}"
end
end
#app/inputs/base.rb
类Base
这不管用。根本没有加载代码以执行。我在这里遗漏了什么吗?您应该在
lib/simple\u form/inputs/base.rb中添加代码,代码应该是这样的,以确保可以自动加载
module SimpleForm
module Inputs
class Base
def input_html_options
@input_html_options...
end
end
end
end
或者像这样使用config/initializers/simple\u form\u ext.rb
中的class\u eval
SimpleForm::Inputs::Base.class_eval do
def input_html_options
@input_html_options[:'custom-attr'] = "#{object_name}.#{attribute_name}"
@input_html_options
end
end