Kemal路由重定向子树

这个代码片段向你展示了如何重定向整个子树并删除子树的第一部分。这可能很有用,例如,当你有外部链接引用不同的语言(如/de /fr /it)和其中的内容路径,而你想从相同的端点提供一切服务。Crystal Lang...

更多内容

在Crystal Lang中处理JSON::Any中的NIL问题

使用Crystal开发时的一个挑战是,它对数据类型的宽容度不如Python或Ruby,nil会让你忙得不可开交。下面的错误信息:从Nil到String的转换失败,在/usr/share/crystal/src/json/any.cr:220:5:220可以通过以下方式解决。# cast to string, THEN check if it is nil if...

更多内容

mongo_orm集合的自定义名称

mongo_orm会通过使用模块和类的名称,并附加一个 "s "来自动确定你的集合的名称。在你想命名你的集合的情况下,你可以简单地这样做: class PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "I want...

更多内容

为mongo_orm添加用户到mongo数据库的说明

你不希望你的Web应用程序使用你的数据库管理员用户访问数据库。此外,你希望它只访问一个特定的数据库 - 也许你有额外的数据库在你的mongo实例中运行。先决条件:mongo_orm 希望将数据库配置作为环境变量或作为你项目中的 config/database.yml 文件。config/database.yml...

更多内容

在水晶中使用模块

随着你的应用程序的增长,你希望从一个大的.cr文件转移到将你的代码分离成小的文件。你可以使用主.cr文件的require来添加其他文件的代码:require "./tools/*"这句话将从工具目录中添加代码,相对于你的主.cr文件。这将...

更多内容

在Docker上安装Crystal:如何在Docker文件中把Crystal资源库添加到Docker上

Dockerfile(摘录) 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-devdev / 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...

更多内容

树莓派上的水晶和阿尔卑斯山

将两种有趣的技术结合起来。Alpine Linux - 一个小尺寸和安全导向的Linux发行版 Crystal - 一种具有良好语法的编译语言(类似于Ruby)在Raspberry Pi(armhf / ARMv6,这也将支持Pi Zero W)上目前是不可能的,截至2018年12月21日。目前还没有(至少没有...

更多内容