Title: NameError: uninitialized constant JSONAPI::ResourceController in Rails 7.1 · Issue #1464 · JSONAPI-Resources/jsonapi-resources · GitHub
Open Graph Title: NameError: uninitialized constant JSONAPI::ResourceController in Rails 7.1 · Issue #1464 · JSONAPI-Resources/jsonapi-resources
X Title: NameError: uninitialized constant JSONAPI::ResourceController in Rails 7.1 · Issue #1464 · JSONAPI-Resources/jsonapi-resources
Description: This issue is a (choose one): Problem/bug report. Feature request. Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead. Checklist before submitting: I've searched for an existing issu...
Open Graph Description: This issue is a (choose one): Problem/bug report. Feature request. Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead. Checklist before submit...
X Description: This issue is a (choose one): Problem/bug report. Feature request. Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead. Checklist before submit...
Opengraph URL: https://github.com/JSONAPI-Resources/jsonapi-resources/issues/1464
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"NameError: uninitialized constant JSONAPI::ResourceController in Rails 7.1","articleBody":"## This issue is a (choose one):\r\n\r\n- [x] Problem/bug report.\r\n- [ ] Feature request.\r\n- [ ] Request for support. **Note: Please try to avoid submitting issues for support requests. Use [Gitter](https://gitter.im/cerebris/jsonapi-resources) instead.** \r\n\r\n## Checklist before submitting:\r\n\r\n- [x] I've searched for an existing issue.\r\n- [ ] I've **NOT** asked my question on [Gitter](https://gitter.im/cerebris/jsonapi-resources) because Gitter seems to be abandoned by the core team. There a lots of questions posted there that have no responses at all.\r\n- [ ] I've included a complete [bug report template](https://github.com/cerebris/jsonapi-resources/blob/master/lib/bug_report_templates/rails_5_master.rb). This step helps us and allows us to see the bug without trying to reproduce the problem from your description. It helps you because you will frequently detect if it's a problem specific to your project.\r\n- [ ] The feature I'm asking for is compliant with the [JSON:API](http://jsonapi.org/) spec.\r\n\r\n## Description\r\n\r\nIn trying to update to Rails 7.1 I'm running into random instances of this error when running my test suite.\r\n\r\n```\r\nError:\r\nJsonapi::V1::TeamProjectsControllerTest#test_should_not_create_for_a_forbidden_team:\r\nNameError: uninitialized constant JSONAPI::ResourceController\r\n app/controllers/jsonapi/v1/base_controller.rb:3:in `\u003cmain\u003e'\r\n app/controllers/jsonapi/v1/team_projects_controller.rb:1:in `\u003cmain\u003e'\r\n test/controllers/jsonapi/v1/team_projects_controller_test.rb:126:in `block in \u003cclass:TeamProjectsControllerTest\u003e'\r\n```\r\n\r\nSometimes there will be 2 of them, other times 20 or 30.\r\n\r\nVia some trial and error I discovered that if I alter my `BaseController` to look like this:\r\n\r\n```ruby\r\nclass Jsonapi::V1::BaseController \u003c ActionController::Base\r\n include JSONAPI::ActsAsResourceController\r\n # ...\r\nend\r\n```\r\n\r\nInstead of this:\r\n\r\n```ruby\r\nclass Jsonapi::V1::BaseController \u003c JSONAPI::ResourceController\r\n # ...\r\nend\r\n```\r\n\r\nthen the random errors go away.\r\n\r\nI also noticed that these errors were only happening locally, and not in CI, and so I tried setting `config.eager_load = true` in `config/environments/test.rb` which also made the errors go away.\r\n\r\nI poked around this gem a little bit and I think that this block of code isn't exactly working as expected in Rail 7.1.\r\n\r\nhttps://github.com/cerebris/jsonapi-resources/blob/e92afc690f5c53da6f4fa5e91ca72a50873390be/lib/jsonapi-resources.rb#L12-L18\r\n\r\nRuby: 3.3.6\r\nRails: 7.1.5.1","author":{"url":"https://github.com/jagthedrummer","@type":"Person","name":"jagthedrummer"},"datePublished":"2025-01-02T20:18:50.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/1464/jsonapi-resources/issues/1464"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:26551e68-c96b-6a9d-71c3-0de5669628e6 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CDEE:6435C:86AE071:BB99C98:6A505781 |
| html-safe-nonce | 498bfbde02f36fe7b6364480fa6a0629d8a431d2f91d559f6e4285790c1af3c9 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDREVFOjY0MzVDOjg2QUUwNzE6QkI5OUM5ODo2QTUwNTc4MSIsInZpc2l0b3JfaWQiOiI1MDM1MzQ1MjYyMTkwNTQ4ODY1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 1a27c1bd10d77adad96a443f74382106bc91a88ef117e28eaf2cd86f24cad2ed |
| hovercard-subject-tag | issue:2766588337 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/JSONAPI-Resources/jsonapi-resources/1464/issue_layout |
| twitter:image | https://opengraph.githubassets.com/67c6731ced598ec976356e2f042b90dedcd2757c4ce0adfd060815224f42675a/JSONAPI-Resources/jsonapi-resources/issues/1464 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/67c6731ced598ec976356e2f042b90dedcd2757c4ce0adfd060815224f42675a/JSONAPI-Resources/jsonapi-resources/issues/1464 |
| og:image:alt | This issue is a (choose one): Problem/bug report. Feature request. Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead. Checklist before submit... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jagthedrummer |
| hostname | github.com |
| expected-hostname | github.com |
| None | d6dc8294eb500fa36bbc57472d61fe87c522f9c3c1d64f70f4926f66a66a7efb |
| turbo-cache-control | no-preview |
| go-import | github.com/JSONAPI-Resources/jsonapi-resources git https://github.com/JSONAPI-Resources/jsonapi-resources.git |
| octolytics-dimension-user_id | 262422067 |
| octolytics-dimension-user_login | JSONAPI-Resources |
| octolytics-dimension-repository_id | 18248068 |
| octolytics-dimension-repository_nwo | JSONAPI-Resources/jsonapi-resources |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 18248068 |
| octolytics-dimension-repository_network_root_nwo | JSONAPI-Resources/jsonapi-resources |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7ac0ad2f2c7e4b9056617355fd9e33e22b0c8df9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width