Cakeday가 인증되지 않은 사용자의 API 호출에서 충돌합니다

안녕하세요,

현재 cakeday를 활성화하고 사용자가 로그인되지 않은 상태에서 다음과 같은 오류가 발생합니다:



    Message

    NoMethodError (undefined method user_option' for nil:NilClass) (eval):86:in _fast_attributes’
    app/serializers/post_stream_serializer_mixin.rb:54:in block in posts' app/serializers/post_stream_serializer_mixin.rb:47:in map’
    app/serializers/post_stream_serializer_mixin.rb:47:in posts' app/serializers/post_stream_serializer_mixin.rb:18:in post_stream’
    (eval):3:in _fast_attributes' app/controllers/application_controller.rb:545:in render_json_dump’
    app/controllers/topics_controller.rb:1249:in block (2 levels) in perform_show_response' app/controllers/topics_controller.rb:1239:in perform_show_response’
    app/controllers/topics_controller.rb:187:in show' app/controllers/application_controller.rb:414:in block in with_resolved_locale’
    app/controllers/application_controller.rb:414:in with_resolved_locale' lib/middleware/omniauth_bypass_middleware.rb:74:in call’
    lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:367:in call’
    config/initializers/100-quiet_logger.rb:20:in call' config/initializers/100-silence_logger.rb:29:in call’
    lib/middleware/enforce_hostname.rb:24:in call' lib/middleware/request_tracker.rb:228:in call’

    Backtrace

    plugins/discourse-cakeday/plugin.rb:68:in block (2 levels) in activate!' (eval):86:in _fast_attributes’
    /nix/store/jlw6xd3hvk4jdrp1aiiap9h62y13c7dj-ruby3.2.2-active_model_serializers-0.8.4/lib/ruby/gems/3.2.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:468:in rescue in attributes' /nix/store/jlw6xd3hvk4jdrp1aiiap9h62y13c7dj-ruby3.2.2-active_model_serializers-0.8.4/lib/ruby/gems/3.2.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:455:in attributes’
    /nix/store/jlw6xd3hvk4jdrp1aiiap9h62y13c7dj-ruby3.2.2-active_model_serializers-0.8.4/lib/ruby/gems/3.2.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:480:in _serializable_hash' /nix/store/jlw6xd3hvk4jdrp1aiiap9h62y13c7dj-ruby3.2.2-active_model_serializers-0.8.4/lib/ruby/gems/3.2.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:359:in serializable_hash’
    /nix/store/jlw6xd3hvk4jdrp1aiiap9h62y13c7dj-ruby3.2.2-active_model_serializers-0.8.4/lib/ruby/gems/3.2.0/gems/active_model_serializers-0.8.4/lib/active_model/serializer.rb:347:in as_json' app/serializers/post_stream_serializer_mixin.rb:54:in block in posts’
    /nix/store/k92bjvqvynnbrvdd26vfg7cf5vh3dxhj-ruby3.2.2-activerecord-7.0.4.3/lib/ruby/gems/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/relation/delegation.rb:88:in each' /nix/store/k92bjvqvynnbrvdd26vfg7cf5vh3dxhj-ruby3.2.2-activerecord-7.0.4.3/lib/ruby/gems/3.2.0/gems/activerecord-7.0.4.3/lib/active_record/relation/delegation.rb:88:in each’

    Env

    HTTP HOSTS: forum.miki.community

500 응답과 “Oops” 오류 페이지를 발생시키는 것 같습니다 :confused:

MTRNord님, 안녕하세요. :slight_smile:

해당 문제를 재현하지 못하겠습니다. 정확한 재현 단계를 설명해 주시겠어요?

사실 지금은 해결했고, 아직 이 부분을 업데이트하지 못해서 죄송합니다! 문제는 버전 호환성 문제였어요. :slight_smile: 3.2.0.beta1로 업데이트하니 정상적으로 작동했습니다.

2개의 좋아요

이 주제는 16시간 후 자동으로 닫혔습니다. 더 이상 답변을 남길 수 없습니다.