我已升级到 3.1.0.beta4,但现在我的一个插件不再工作了,我很难弄清楚如何升级这部分代码:
after_initialize do
User.register_custom_field_type('myfield', :json)
# 我们需要使其可编辑以允许 API 访问
register_editable_user_custom_field :myfield
register_editable_user_custom_field myfield: {} **---- 错误在此**
# 这会将字段添加到 post json 中
add_to_serializer(:post, :user_myfield, false) {
# 管理员是 Admin + Moderator
object.user.custom_fields['myfield'] if object.user && scope.is_staff?
}
end
这是升级期间的错误:
I, [2023-04-18T13:14:53.725429 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
ArgumentError: wrong number of arguments (given 0, expected 1)
/var/www/discourse/lib/plugin/instance.rb:185:in `register_editable_user_custom_field'
/var/www/discourse/plugins/discourse-test-information/plugin.rb:18:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:507:in `block in notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:505:in `each'
/var/www/discourse/lib/plugin/instance.rb:505:in `notify_after_initialize'
/var/www/discourse/config/application.rb:228:in `each'
/var/www/discourse/config/application.rb:228:in `block (2 levels) in <class:Application>'
/var/www/discourse/lib/plugin.rb:6:in `initialization_guard'
/var/www/discourse/config/application.rb:228:in `block in <class:Application>'
有人能给我一些关于发生了什么变化的提示,以及我需要如何调整我的代码吗?
谢谢,此致,
Michael