我可以继承ERB模板?

有没有办法有一个模板继承另一个模板? 我没有使用Rails。

--------------解决方案-------------

不,你不能继承ERB模板 - 它不是一类。 这仅仅是一个文件。

编辑:

据@丹的评论,我承担了Django的模板继承一看,它看起来非常相似的Rails content_for 不过,我不知道如何使用它的Rails之外。 看看在这里点3.2和3.3,并在这里。

我也很喜欢Django的模板继承,但它不是提供至少与西纳特拉。

该西纳特拉本书解释了如何使用一个layout.erb来定义一个标准的页面布局:

你只需要定义一个views/layout.erb有类似的文件:

<html>
<head>..</head>
<body>
<%= yield %>
</body>
</html>

然后打电话给你的ERB模板与erb :index为例。 西纳特拉将呈现模板和包括layout.erb渲染的结果在你的索引模板的内容。

您正在寻找的是谐音和布局。 您可以定义一个布局以容纳您的网页,其中有全球设计的东西(你的CSS和JavaScript包括页眉和页脚,等等。在这个视图中,可以yield到另一个模板,该模板可以使partials

现在有框架兰戈,第一台红宝石框架模板继承和框架无关的模板继承的宝石,从中提取。

分类:红宝石 时间:2012-01-01 人气:0
分享到:

相关文章

  • Python的红宝石相当于块为西纳特拉风格的URL路由 2013-07-27

    有没有在Python重新Sinatra的URL路由的一种方式? 以及是否有这个原因可能是不希望任何原因? 从西纳特拉: get '/' do 'Hello world!' end 从瓶(使用路由装饰): @app.route("/") def hello(): return "Hello World!" 西纳特拉实现通过红宝石块这样简洁: def get(path, opts={}, &block) conditions = @conditions.dup

  • 继承在Ruby中/西纳特拉 2013-12-05

    我正在使用西纳特拉作为一个框架Ruby项目,并有一个关于扩展类的问题. 可以说我有这是由管理员扩展一个User类,并管理员在User.rb来界定? 我试图把它在Admin.rb但我得到一个错误说: admin.rb:1: uninitialized constant User (NameError) 谢谢. --------------解决方案------------- 在管理类,你必须需要包含用户的定义,以便红宝石知道当它看到了管理类定义哪些用户是文件. 需要'user.rb" 一流的管理&l

  • 红宝石瓦特/ Postgres的和西纳特拉 - 查询不会为了正确使用参数? 2013-12-06

    所以,我在我的主红宝石文件,该文件处理我所有的post和get请求,然后使用ERB模板实际显示的页面设置一个变量. 我通过数据库处理程序本身到ERB模板,然后运行该模板的查询来获取所有的(在这个例子中)授予. 在我的主要ruby文件: grants_main_order = "id_num" get '/grants' do erb :grants, :locals => {:db=>db, :order=>grants_main_order, :message=&g

  • 新的红宝石,Rails3中或西纳特拉? 2014-09-21

    我正在评估Rails3中或Sinatra和建立一个新的网站. 他们两个看起来有趣,不知道哪一个是新的开发者更好的Ruby. 我听说Rails3中用来构建复杂的业务逻辑的网站,但西纳特拉更适合简单的网页. 我想建立一个网站,可以在生产中使用,最初的业务逻辑可能很简单,但我可以用更复杂的业务逻辑,以后增加更多的功能. 所以,我会很感激,如果有人可以帮助我在我的情况. 谢谢. --------------解决方案------------- 你也应该看看Padrino. 它是建立在西纳特拉的顶部,而不是

  • 通过周红宝石一年循环(西纳特拉) 2012-04-09

    我创建使用辛纳屈和DataMapper的一个非常简单的分时应用. 在应用程序中的每个用户都将有n个保留和暂时保留的每个运行时间为周一至周日只能有每周一预订. 现在,我需要一个文本框(和标签),每星期在今年那里的用户把他们的名字(通过自动完成或东西),从而创建一个保留该周的景色. 而如果本周是保留课程的名称将在文本框(和残疾人)填写 这将是这样的 weeks.each do find user that has reserved this week - and create a textbox e

  • 西纳特拉服务器将无法启动 - “错误的参数个数” 2014-10-27

    我想尝试西纳特拉为我听说这是为新手web开发比钢轨..好,一般我喜欢比不是更简约. 为了这个前提下,我使用的红宝石2和任何版本西纳特拉的创业板安装得到. 所有我迄今所做的基本 require 'sinatra' get '/' do 'Hello, World!' end 尝试运行红宝石basics.rb服务器并抛出这个我: /home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/thin-2.0.0.pre/lib/thin/server.rb:108:in

  • 西纳特拉犯规在Windows 7上运行 2012-06-02

    我有一个寡妇7台笔记本电脑,我试图让Sinatra的工作. 我也正是官方网站说,但它不工作. 我有红宝石1.9.2,1.8.1宝石和西纳特拉1.2.6. 当我运行此: ruby hi.rb 它说: hi.rb:3:in `<main>': undefined method `get' for main:Object (NoMethodError) 我也试过: ruby -rubygem hi.rb 它说 : <internal:lib/rubygems/custom_require>

  • 没有这样的文件来加载乘客和西纳特拉 2013-07-10

    我最近更新到1.9.2红宝石(RVM),西纳特拉1.1和客运3.0.0. 我有组成一个简单的应用: # config.ru require 'rubygems' require 'sinatra' require 'app.rb' run Sinatra::Application # app.rb require 'rubygems' require 'sinatra' get '/' do erb :index end 如果我运行从使用终端的应用程序ruby app.rb everythign

  • 西纳特拉HAML的Heroku在文件模板 2014-11-10

    然而,我在经营自己的环境中应用的一些问题,我从以下一个http://ruby.about.com/od/sinatra/a/sinatra7_2.htm教程. 问题是,在下面的行: haml :list, :locals => { :cs => Contact.all } 结果在一个"没有这样的文件或目录 - [...] /视图/ list.haml" 的HAML模板是在文件中,并通过终止: __END__ @@ layout 然而,红宝石似乎在寻找的Haml的文件的意见/

  • 红宝石1.9 +西纳特拉不兼容的字符编码​​:ASCII-8BIT和UTF-8 2012-01-26

    我试图迁移西纳特拉应用Rub​​y 1.9的 我使用的是西纳特拉1.0,机架1.2.0及雇员再培训局模板 当我开始西纳特拉它的工作原理,但是当我从浏览器请求的网页,我得到这个错误: Encoding::CompatibilityError at / incompatible character encodings: ASCII-8BIT and UTF-8 所有.RB文件有这个头: #!/usr/bin/env ruby # encoding: utf-8 我认为这个问题是在再培训局的文件,即使

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.764 (s). 10 q(s)