查看验证器,它是:
s3_endpoint:
default: ""
regex: '^https?:\\/\\/.+[^\\/]$'
所以检查你输入的值表明它完全没问题:
[1] pry(main)> 'https://b1v7.or.idrive2-51.com'.match /^https?:\\/\\/.+[^\\/]$/
=> #<MatchData "https://b1v7.or.idrive2-51.com">
显然,字段中的某个地方有问题。正如 @pfaffman 所建议的,请检查空格。
如果仍然不起作用,从 rails 控制台测试是否有效?
我预计这会失败:
[1] pry(main)> SiteSetting.s3_endpoint = 'gopher://b1v7.or.idrive2-51.com'
Discourse::InvalidParameters: s3_endpoint: Value doesn't match the required format.
from /home/michael/prog/Discourse/discourse/lib/site_settings/type_supervisor.rb:288:in `validate_value'
但这应该有效:
[1] pry(main)> SiteSetting.s3_endpoint = 'https://b1v7.or.idrive2-51.com'
=> "https://b1v7.or.idrive2-51.com"