gpt4 book ai didi

ruby-on-rails - SimpleForm maxlength 扩展的工作原理

转载 作者:行者123 更新时间:2023-12-04 22:21:59 25 4
gpt4 key购买 nike

我想在 SimpleForm gem 的帮助下创建的表单上设置输入的 maxlength html 属性。我知道我可以通过在创建表单时手动传入 maxlength 属性来做到这一点,例如:

<%= f.input :username, input_html: { maxlength: 20 } %>

但这不是我想要的,因为根据 SimpleForm 配置文件中的注释,您应该启用 maxlength 扩展,当给出最大长度验证时,它会自动将此 html 属性添加到字符串属性的输入标记中。
## Optional extensions
# They are disabled unless you pass `f.input EXTENSION_NAME => :lookup`
# to the input. If so, they will retrieve the values from the model
# if any exists. If you want to enable the lookup for any of those
# extensions by default, you can change `b.optional` to `b.use`.

# Calculates maxlength from length validations for string inputs
b.use :maxlength

不幸的是,上述两种可能性都不起作用。我是否完全误解了 maxlength 扩展的使用?

最佳答案

这是正确的,当编辑 simple_form.rb 配置文件时

b.use :maxlength

表单中的 max-length 将使用模型外的值。

我将 simple_form 与 Twitter Bootstrap 结合使用。为了对表单产生这种效果,我还必须在配置文件 simple_form_bootstrap.rb 中插入这一行
# Use this setup block to configure all options available in SimpleForm.
SimpleForm.setup do |config|
config.wrappers :bootstrap, :tag => 'div', :class => 'control-group', :error_class => 'error' do |b|

# Calculates maxlength from length validations for string inputs
b.use :maxlength
...

关于ruby-on-rails - SimpleForm maxlength 扩展的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15063500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com