Sinatra 請(qǐng)求/實(shí)例 變量域

2023-12-20 15:44 更新

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

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

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

    "Route defined!"
  end
end

在以下情況將獲得請(qǐng)求變量域:

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)