我对这个集合感到好奇:views,Proc.new行。我只是很好奇这到底是什么,为什么要使用Proc.new?我想我不太了解Proc的功能以及此处的逻辑。有人可以帮我清理一下吗?
class ApplicationController < Sinatra::Base
configure do
set :views, Proc.new { File.join(root, "../views/") }
enable :sessions unless test?
set :session_secret, "secret"
end
end
此过程不是静态的,它采用设置值root
并评估视图的路径。这是Sinatra的一个文档:
当设置值为
Proc
时,每次读取设置都会进行评估,以便可以使用其他设置来计算值
一旦设置了root
值,就无需设置视图的完整路径。