<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Lucky功能齊全的 Crystal Web 框架

          聯(lián)合創(chuàng)作 · 2023-09-20 03:20

          Lucky 是一個用 Crystal 寫的 Web 框架,它可以幫助你在編譯時捕獲 bug,并提供快速的響應,使編寫 Web 應用程序快速、有趣和容易。

          Lucky 使用 Action 類來處理 HTTP 請求和響應,類將它處理的路由和參數(shù)映射到響應塊。

          特性:

          • 速度快和使用很少的內(nèi)存
          • 在創(chuàng)建一個新的 Lucky 項目時,可以包括身份驗證、資產(chǎn)管理、CORS、數(shù)據(jù)庫 ORM等等
          • 與在 QA 或生產(chǎn)中發(fā)現(xiàn) bug 不同,Lucky 的設計目的是在編譯時捕獲盡可能多的 bug 

          JSON API

          class Api::Users::Show < ApiAction
            get "/api/users/:user_id" do
              json user_json
            end
          
            private def user_json
              user = UserQuery.find(user_id)
              {name: user.name, email: user.email}
            end
          end

          Database

          # Set up the model
          class User < BaseModel
            table :users do
              column last_active_at : Time
              column last_name : String
            end
          end
          
          # Add some methods to help query the database
          class UserQuery < User::BaseQuery
            def recently_active
              last_active_at.gt(1.week.ago)
            end
          
            def sorted_by_last_name
              last_name.lower.desc_order
            end
          end
          
          # Query the database
          UserQuery.new.recently_active.sorted_by_last_name

          Rendering HTML:

          class Users::Index < BrowserAction
            route do
              users = UserQuery.new.sorted_by_last_name
              render IndexPage, users: users
            end
          end
          
          class Users::IndexPage < MainLayout
            needs users : UserQuery
          
            def content
              render_new_user_button
              render_user_list
            end
          
            private def render_new_user_button
              link "New User", to: Users::New
            end
          
            private def render_user_list
              ul class: "user-list" do
                @users.each do |user|
                  li do
                    link user.name, to: Users::Show.with(user.id)
                    text " - "
                    text user.nickname || "No Nickname"
                  end
                end
              end
            end
          end

           

          瀏覽 35
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美久久草 | 毛片小电影 | 国产99九九久久无码精品 | 蜜臀久久99精品久久久久久宅男 | 青娱乐成人视频 |