Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Bad links with engine mounted as root

Abierto
#1,303 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
rails, ruby
Área
api, backend

Línea de trabajo

Comienza en lib/jsonapi/link_builder.rb, en resource_url, y después inspecciona cómo se calcula engine_mount_point para una engine montada en '/'. Reproduce el caso reportado de montaje en la raíz y verifica que el self link generado tenga una sola barra inicial en lugar de '//v1/users/...'; el comportamiento existente de construcción de enlaces debe seguir siendo correcto para los montajes que no son en la raíz.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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 described on lib/jsonapi/link_builder.rb#L139,

def resource_url(source)
    "#{ base_url }#{ engine_mount_point }#{ resource_path(source) }"
end

But in this case:

constraints subdomain: 'api' do
    mount MyEngine::Engine, at: '/' if defined?(MyEngine::Engine)
  end

This creates a double / due to root value of engine_mount_point.

I guess a little update of:

@engine_mount_point = @engine ? @engine.routes.find_script_name({}) : ""

should be enough.

Current result:

{
    "data": {
        "id": "ed526d56-cc7e-41f4-8e99-fccf73fb7500",
        "type": "users",
        "links": {
            "self": "//v1/users/ed526d56-cc7e-41f4-8e99-fccf73fb7500"
        },
        "attributes": {
            "first_name": null,
            "last_name": null,
            "email": "some@thing.io"
        }
    }
}

//v1/users/ed526d56-cc7e-41f4-8e99-fccf73fb7500 should be /v1/users/ed526d56-cc7e-41f4-8e99-fccf73fb7500

Lenguaje dominante
Ruby
Estrellas
2.3k
Forks
546
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de JSONAPI-Resources/jsonapi-resources

Todos los issues de JSONAPI-Resources/jsonapi-resources

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.