Sinatra 請求/實例 變量域

2023-12-20 15:44 更新

對于每個進(jìn)入的請求,一個新的應(yīng)用類的實例會被創(chuàng)建 所有的處理器代碼塊在該變量域被運行。在這個變量域中,你可以訪問 ?request? 和 ?session? 對象,或者調(diào)用渲染方法比如? erb ?或者? haml?。你可以在請求變量域當(dāng)中通過?settings?輔助方法 訪問應(yīng)用變量域:

class MyApp < Sinatra::Base
  # 嘿,我在應(yīng)用變量域!
  get '/define_route/:name' do
    # 針對 '/define_route/:name' 的請求變量域
    @value = 42

    settings.get("/#{params[:name]}") do
      # 針對 "/#{params[:name]}" 的請求變量域
      @value # => nil (并不是相同的請求)
    end

    "Route defined!"
  end
end

在以下情況將獲得請求變量域:

  • get/head/post/put/delete 代碼塊
  • 前置/后置 過濾器
  • 輔助方法
  • 模板/視圖


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號