Linguagem de Cristal
Roteamento Kemal redireccionando uma sub-árvore
Este trecho de código mostra-lhe como redireccionar uma sub-árvore inteira e remover a primeira parte da sub-árvore. Isto pode ser útil, por exemplo, quando tiver links externos referenciando diferentes línguas (por exemplo /de /fr /it) e caminhos de conteúdo neles, e quiser servir tudo a partir dos mesmos pontos finais. A Linguagem de Cristal...
Weiterlesencódigo de erro API mailerlite 422 para endpoint de subscritores
Hoje, estava a implementar a interface entre PiCockpit.com e o Mailerlite API (que usamos no nosso software de newsletter). https://api.mailerlite.com/api/v2/subscribers Recebi a seguinte mensagem de erro: O pedido POST estava a devolver 422 como código de estado. Infelizmente, há pouca documentação sobre isso no Mailerlite. A minha implementação estava correcta (a propósito, esta é Crystal Lang):...
WeiterlesenLidando com NIL em JSON::Qualquer em Crystal Lang
Um dos desafios ao desenvolver com o Crystal é que ele não é tão clemente sobre os tipos de dados como, digamos, Python ou Ruby. nulo irá mantê-lo ocupado. A seguinte mensagem de erro: cast from Nil to String failed, at /usr/share/crystal/src/json/any.cr:220:5:220 pode ser resolvido por: # cast to string, ENTÃO verifique se é nulo se...
WeiterlesenComo utilizar todas as rotas com Kemal
Para uma aplicação Vue.js de página única - pelo menos em uma URL SUB de nossa página - queremos um catch all em nosso servidor, que irá sempre renderizar o mesmo template / saída HTML para o navegador. Kemal é baseado internamente no Radix para roteamento: https://github.com/luislavena/radix O Radix tem um caractere Catch All / Glob:...
WeiterlesenObtendo pedidos de PÓS-PAIS para trabalhar com Axios, Kemal (cristal lang), vue.js
Em picockpit.com, estou a utilizar pedidos AJAX para comunicar com o backend para operações de actualização. Por exemplo, se você quiser mudar o nome deste Pi, você selecionaria: que mostra uma forma inline: como mostrar esta forma inline com vue.js é além do ponto deste post (embora muito interessante!) Clicando...
Weiterlesenmongo_orm Exception: missing bson key: publish_acl (Exceção)
Quando você amplia suas definições de campo nas classes de documentos mongo_orm, especificamente com documentos embutidos, você pode encontrar o seguinte erro de tempo de execução (!): Exceção: falta da chave bson: (Exceção) Isto não é um erro no seu código - o seu código está a subir, porque a estrutura da base de dados não é como espera que seja!...
Weiterlesenmongo_orm nome personalizado para coleta
mongo_orm determinará automaticamente o nome da sua coleção usando o nome do Módulo e da Classe, e anexando um "s". Nos casos em que você quer nomear sua coleção, você pode simplesmente fazer isso: classe PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "I want...
WeiterlesenInstruções para adicionar um usuário a um banco de dados mongo para mongo_orm
Você não quer que sua aplicação web acesse a base de dados usando seu usuário administrador da base de dados. Adicionalmente você quer que ele acesse apenas uma base de dados específica - talvez você tenha bases de dados adicionais rodando na sua instância mongo. Pré-requisitos: mongo_orm espera a configuração do banco de dados como variáveis de ambiente ou como um arquivo config/database.yml em seu projeto. O config/database.yml...
WeiterlesenConstruindo uma experiência persistente de edição em linha com Crystal, MongoDB (datanoise / sam0x17)
Como a documentação ainda é escassa, eu gostaria de acrescentar alguma. Isto é o que estou a construir actualmente: Os campos individuais vão ser editáveis com um editor inline, que guardará automaticamente no backend - não há necessidade de recarregar a página inteira. O objectivo do todo é um backend para o meu...
Weiterlesenkemal-session não persiste dados
https://github.com/kemalcr/kemal-session Analise o que está acontecendo com o cookie da sua sessão. No meu caso, o cookie da sessão foi reinicializado toda vez que eu fui fazer o login. Percebi que minha idéia de limpar a sessão antiga como uma primeira declaração após o login bem sucedido, antes de configurar a nova sessão, não é uma boa idéia. Eu suspeito, que o...
Weiterlesen