sinatra 中的会话和创建哈希是相似的吗?
sessions in sinatra and creating a hash are similar?
我创建了一个会话,我有这样的代码
# sinatra.rb
enable :sessions
get '/foo' do
session[:message] = 'Hello World!'
redirect to('/bar')
end
get '/bar' do
session[:message] # => 'Hello World!'
end
与
非常相似
# test.rb
session = Hash.new
session[:message] = 'Hello World!'
puts session
那有什么区别呢?
我不确定你是问方括号还是对 Sinatra 的实现感兴趣 session
。
如果您问的是方括号:它们只不过是一种方法,您可以在自己的 类 中定义。在这里阅读更多:https://rickcarlino.com/2015/03/26/square_brackets-html.html
从上面提取的一个小例子url:
class FakeCollection
attr_reader :items
def initialize
@items = {}
end
def [](index)
@items[index] || "Not Found"
end
def []=(index, value)
@items[index] = value
end
end
example = FakeCollection.new
example[:x] = "Hello, world"
example[:x]
# => "Hello, world"
我创建了一个会话,我有这样的代码
# sinatra.rb
enable :sessions
get '/foo' do
session[:message] = 'Hello World!'
redirect to('/bar')
end
get '/bar' do
session[:message] # => 'Hello World!'
end
与
非常相似# test.rb
session = Hash.new
session[:message] = 'Hello World!'
puts session
那有什么区别呢?
我不确定你是问方括号还是对 Sinatra 的实现感兴趣 session
。
如果您问的是方括号:它们只不过是一种方法,您可以在自己的 类 中定义。在这里阅读更多:https://rickcarlino.com/2015/03/26/square_brackets-html.html
从上面提取的一个小例子url:
class FakeCollection
attr_reader :items
def initialize
@items = {}
end
def [](index)
@items[index] || "Not Found"
end
def []=(index, value)
@items[index] = value
end
end
example = FakeCollection.new
example[:x] = "Hello, world"
example[:x]
# => "Hello, world"