加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Sinatra Locals vs. Instance Variables

发布时间:2020-12-17 03:16:22 所属栏目:百科 来源:网络整理
导读:究竟什么是Sinatra的本地人,在模板中使用它们与实例变量之间有什么区别?这是我在 locals的意思: erb :template,:locals = {:variable = 'value'} 编辑: 在实现方面,实例和局部变量之间有什么区别,使用一个和另一个有什么好处? 解决方法 来自Sinatra的 in
究竟什么是Sinatra的本地人,在模板中使用它们与实例变量之间有什么区别?这是我在 locals的意思:

erb :template,:locals => {:variable => 'value'}

编辑:

在实现方面,实例和局部变量之间有什么区别,使用一个和另一个有什么好处?

解决方法

来自Sinatra的 intro:

模板在与路由处理程序相同的上下文中进行评估.路径处理程序中设置的实例变量可由模板直接访问:

get '/:id' do
  @foo = Foo.find(params[:id])
  haml '%h1= @foo.name'
end

或者,指定局部变量的显式哈希:

get '/:id' do
  foo = Foo.find(params[:id])
  haml '%h1= bar.name',:locals => { :bar => foo }
end

这通常在将模板从其他模板中呈现为部分时使用.

对于某些模板(在这种情况下为Radius):

由于您无法直接从Radius模板调用Ruby方法,因此您几乎总是希望将locals传递给它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读