Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Rails 4.2 with Ruby 2.4.9: undefined method `root' for JSONAPI::Rails:Module

未关闭
#1,332 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
1/5
预计耗时
1 小时以内
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
停滞
技术栈
rails, ruby
领域
api, backend

调研方向

从 lib/jsonapi/acts_as_resource_controller.rb:155 开始,该处会组装 base_url,并检查其中使用的 Rails 应用程序引用。通过 config/routes.rb 中的 Api::TestsController 示例重现该请求,然后验证它不再引发 undefined-method 错误,并且仍会构建预期的 base URL。

由索引模型根据 Issue 内容生成。

描述

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 issue.
  • I've asked my question on Gitter and have not received a satisfactory answer.
  • I've included a complete bug report template. 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.
  • The feature I'm asking for is compliant with the JSON:API spec.

Description

As the title: controller raises the exception:

E, [2020-10-29T02:29:40.427579 #92859] ERROR -- : Internal Server Error: undefined method `application' for JSONAPI::Rails:Module /*/.rbenv/versions/2.4.9/lib/ruby/gems/2.4.0/gems/jsonapi-resources-0.10.2/lib/jsonapi/acts_as_resource_controller.rb:155:in `base_url'

which can be fixed with

    def base_url
-      @base_url ||= "#{request.protocol}#{request.host_with_port}#{Rails.application.config.relative_url_root}"
+      @base_url ||= "#{request.protocol}#{request.host_with_port}#{::Rails.application.config.relative_url_root}"
    end
# config/routes.rb
  namespace :api do
    jsonapi_resources :tests, only: %i[index]
  end

# app/controllers/api/tests_controller.rb
module Api
  class TestsController < ::Api::BaseController
  end
end

主要语言
Ruby
星标
2.3k
派生
546
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

JSONAPI-Resources/jsonapi-resources 的其他 Issue

查看 JSONAPI-Resources/jsonapi-resources 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。