Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Undefined Conversion

Aberta
#291 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
javascript, ruby
Domínio
backend

Direção de pesquisa

Start by reading the MiniRacer context API and the implementation of Context#attach to understand how Ruby values are exposed to JavaScript. The report shows that attaching a proc exposes a function, while converting the Active Record object fails; investigate whether the API supports assigning Ruby objects directly. Done means documenting or providing a way to access the object's properties and relations from JavaScript.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

question

What is the alternative of ctx[key] = value that was available in rubyracer?

In rubyracer, the following block would return hi 1

ctx = MiniRacer::Context.new
person = Person.first
ctx[:person] = person
ctx.eval("'hi' + person.id")

I have tried the following things:

ctx.attach("person", proc{ person })

[8] pry(#<...>)> ctx.eval("person")
=> #<MiniRacer::JavaScriptFunction:0x0000000123b1d220>

[9] pry(#<...>)> ctx.eval("person.name")
=> ""

[10] pry(#<...>)> ctx.eval("person.id")
=> nil

[11] pry(#<...>)> ctx.eval("person()")
=> "Undefined Conversion"

What is the correct way to do what I've described above with mini_racer?

Thank you!

edit
Not exactly what I need but this kinda works(not for relations though eg person().address)

ctx.attach("person", proc{person.serializable_hash})
ctx.eval("person().id")
Linguagem predominante
JavaScript
Estrelas
628
Forks
100
Merge médio
1d 20h
PRs com merge (30d)
2

Preparar o ambiente

  • Inclui um Dockerfile ou arquivo Docker Compose
  • Sem modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de rubyjs/mini_racer

Todas as issues de rubyjs/mini_racer

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.