Kemal routing redirigeant un sous-arbre

Cet extrait de code vous montre comment rediriger un sous-arbre entier et supprimer la première partie du sous-arbre. Cela peut s'avérer utile, par exemple, lorsque vous avez des liens externes faisant référence à différentes langues (par exemple, /de /fr /it) et à des chemins de contenu dans ces liens, et que vous voulez servir le tout à partir des mêmes points d'extrémité. Crystal Lang...

Weiterlesen

Traitement de NIL dans JSON::Any en Crystal Lang

L'un des défis du développement avec Crystal est qu'il ne pardonne pas autant les types de données que, par exemple, Python ou Ruby. nil vous occupera. Le message d'erreur suivant : cast from Nil to String failed, at /usr/share/crystal/src/json/any.cr:220:5:220 peut être résolu par : # cast to string, THEN check if it is nil if...

Weiterlesen

mongo_orm nom personnalisé pour la collection

mongo_orm déterminera automatiquement le nom de votre collection en utilisant le nom du module et de la classe, et en ajoutant un "s". Dans les cas où vous voulez nommer votre collection, vous pouvez simplement faire ceci : class PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "Je veux...

Weiterlesen

Instructions pour ajouter un utilisateur à une base de données mongo pour mongo_orm

Vous ne voulez pas que votre application web accède à la base de données en utilisant l'utilisateur administrateur de la base de données. De plus, vous voulez qu'elle n'accède qu'à une seule base de données spécifique - peut-être avez-vous d'autres bases de données dans votre instance mongo. Pré-requis : mongo_orm attend la configuration de la base de données comme variables d'environnement ou comme un fichier config/database.yml dans votre projet. Le fichier config/database.yml...

Weiterlesen

Utilisation de modules en cristal

Au fur et à mesure que votre application se développe, vous souhaitez passer d'un gros fichier .cr à une séparation de votre code en fichiers plus petits. Vous pouvez utiliser require depuis votre fichier .cr principal pour ajouter du code provenant d'autres fichiers : require "./tools/*" Cette instruction ajoutera le code du répertoire tools, par rapport à votre fichier .cr principal. Cela va...

Weiterlesen

La portée d'ecr dans crystal : ou comment passer des variables et des objets dans les modèles ECR ?

En tant que débutant dans le langage Crystal, j'ai encore du mal à me faire une idée de certains de ses concepts et à me familiariser avec le codage en Crystal. Lorsque je rencontre des problèmes difficiles, que je résous ou que je commence à comprendre, j'en parle sur mon blog, afin que d'autres puissent en profiter - comme le manque de documentation...

Weiterlesen

Installation de Crystal sur Docker : comment ajouter le référentiel Crystal à Docker dans le Dockerfile

Dockerfile (extrait) ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN apt-get update && apt-get install -y \ software-properties-common \ build-essential \ libevent-dev \ libssl-dev \ libxml2-dev \ libyaml-dev \ libgmp-dev \ libreadline-dev \ apt-transport-https \ iputils-ping \ git \ aptitude \ nano \ openssh-server \ && apt-key adv -keyserver keys.gnupg.net -recv-keys 09617FD37CC06B54 \ && add-apt-repository 'deb https://dist.crystal-lang.org/apt crystal....

Weiterlesen

Crystal & Alpine sur le Raspberry Pi

Réunir deux technologies intéressantes : Alpine Linux - une distribution Linux de petite taille et orientée sécurité Crystal - un langage compilé avec une belle syntaxe (similaire à Ruby) sur le Raspberry Pi (armhf / ARMv6, qui supporterait également le Pi Zero W) n'est pas possible actuellement, au 21.12.2018. Il n'y a pas (du moins pas...

Weiterlesen