`
liuqiang
  • 浏览: 162063 次
  • 性别: Icon_minigender_1
  • 来自: 华东
社区版块
存档分类
最新评论

Rails简洁的模板系统Malline

    博客分类:
  • Ruby
阅读更多

      前段时间听说rails的模板系统不如django好用,其实rails也有一个比较简洁且好用的模板系统Malline http://www.malline.org/ 。Malline 是专门为Rails框架而设计的模板系统,它从模板系统 Makeaby 获取的灵感,Malline不是嵌入式模板系统,也不是新的语言模板系统,而是使用纯Ruby语言编写模板代码。接触伊始就觉得这个模版真的很棒,下面是根据它的doc做的一个step by step过程。

 

首先把Malline作为插件进行安装:

ruby script/plugin install http://svn.malline.org/stable/malline

 

最后在 config/environment.rb中加入 require 'malline/rails' , 这就算安装完毕了。

 

根据doc测试了2个例子,注意直接把.rhtml文件换为.mn文件即可,rails会直接渲染.mn文件,首先是Malline大大简化了html标签的写法,而且支持嵌套,比如:

 

div do
    span 'text'
    div 'foo' do
        span 'bar', :style => 'color: red'
    end
end

编译成:
 <div>
    <span>text</span>
    <div>
        foo<span style="color: red">bar</span>
    </div>
</div>
 

 


 你可以像erb模板那样向block里面输入一个变量,并在以后使用它,比如:

 

@foo = capture do
    div do
        img :src => '/images/image.png', :alt => 'nice image'
        br
        span.caption 'Taken at the location of the event'
    end
end
编译成:
<div>
    <img src="/images/image.png" alt="nice image"/><br/>
    <span class="caption">Taken at the location of the event</span>
</div>

 

 

      以上是我试验的两个例子,更多可以参见 http://www.malline.org/features ,绝对让你爽个够,而且在下载下来的插件里面包含了大量的测试例子。另外想说明的是,你可以在一个系统里面混用erb模板和malline模板,甚至可以在malline模板里面引用erb模板,比如你已经有一个_one.rhtml的模板,那么在.mn中加入<%= render :partial => 'one' %>也是可行的。

分享到:
评论
3 楼 swachian 2008-09-14  
haml已经2.0.3了,解析速度不怎么慢。以前有预言2.0版的跟erb在性能上的差距在5-10%。比写erb方便,省事不少。要美工改什么东西的话,一般让美工访问连接后去取html,之后就是转换后再插到haml中去。
不管怎么说,是不会再用回erb了。
2 楼 liuqiang 2008-09-14  
<div class='quote_title'>lgn21st 写道</div>
<div class='quote_div'>楼主是否有用过Haml?我初步看来这个模板系统类似Haml,但是没有Haml简洁,至少思路一致,但是Haml可以帮助你省略小一半的代码行数,易于维护(美工的噩梦...程序员的福音...)</div>
<p> </p>
<p> </p>
<div class='quote_title'>写道</div>
<div class='quote_div'>简单的表现往往意味着复杂的后台处理,事实也的确如此,因为HAML相比RHTML要进行更多的处理,因此HAML 很难做到比RHTML更快,所以问题的关键就在于你能不能承受由此造成的性能下降 </div>
<p>需要考虑到问题是,在复杂度 性能 功能这几者间寻找一个平衡点。</p>
<p> </p>
<p> </p>
1 楼 lgn21st 2008-09-14  
楼主是否有用过Haml?我初步看来这个模板系统类似Haml,但是没有Haml简洁,至少思路一致,但是Haml可以帮助你省略小一半的代码行数,易于维护(美工的噩梦...程序员的福音...)

相关推荐

    ruby on rails在线考试系统

    在这个“ruby on rails在线考试系统”中,我们可以探讨以下几个核心知识点: 1. MVC架构:Rails的核心设计原则是DRY(Don't Repeat Yourself),通过MVC模式将应用程序分为模型、视图和控制器三个部分,各司其职。...

    Ruby-开箱即用的Rails项目模板

    标题中的"Ruby-开箱即用的Rails项目模板"指的是一个预先配置好的Rails项目结构,它包含了特定的设置和集成,以便开发者能够快速启动新项目,无需从零开始配置各种依赖和工具。这种模板通常会包含最佳实践和常用库,...

    ruby on rails学生选课系统

    在构建学生选课系统时,Rails的强大功能和简洁语法将使开发工作变得更为高效。 首先,我们需要设计数据库模型(Model)。在学生选课系统中,关键的实体包括学生(Student)、课程(Course)和选课记录(Enrollment...

    Ruby-StringTemplate一个快速的Rails的模板引擎

    Ruby StringTemplate是一个高效且专为Rails框架设计的模板引擎,它充分利用了Ruby语言的字符串插值功能来提高渲染速度。在Rails应用中,模板引擎扮演着至关重要的角色,它们负责将数据模型与视图结合,生成动态HTML...

    rails敏捷开发的购物车系统

    在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...

    基于Ruby On Rails的洗衣系统

    Ruby On Rails(简称Rails)是一种使用Ruby语言编写的开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构模式,旨在提高开发效率,强调简洁和生产力。本项目是基于Rails构建的一个洗衣管理系统,旨在帮助用户...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    基于java的开发源码-Rails3消息队列系统 Sidekiq.zip

    基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip ...

    基于Ruby On Rails的在线购书系统

    《基于Ruby On Rails的在线购书系统》是一个深入探讨如何利用Ruby on Rails框架构建电子商务平台的项目。Ruby on Rails(RoR)是一个开源的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,以Ruby编程语言为...

    Rails3消息队列系统 Sidekiq

    Rails3消息队列系统 Sidekiq

    中文版rails教程

    在Ruby on Rails中,开发者可以快速构建功能丰富的动态网站,因为它提供了大量的内置功能和库,如数据库连接、ORM(对象关系映射)系统ActiveRecord、模板引擎ActionView以及路由系统ActionController等。...

    Rails项目源代码

    Rails的核心理念是DRY(Don't Repeat Yourself),它鼓励开发者编写简洁、可复用的代码。框架提供了丰富的内置功能,如路由、ORM(对象关系映射)、数据库迁移和强大的脚手架工具,帮助快速开发应用程序。 2. **...

    基于Rails的菲普斯网站管理系统 v0.8.5.rar

    Fepss开发的免费OA系统也受到中小型企业的青睐,本公司网站发布系统是基于ruby on rails开发的,这也是国内首款开放源码的基于rails开发的网站系统。 本网站系统是作为OA系统的前端展示系统,所倚赖的包都在plugin...

    Rails 101 入门电子书

    - 使用系统helper简化模板。 - 自定义helper函数封装复杂逻辑。 通过以上内容的学习,初学者可以全面掌握Ruby on Rails的基础知识,包括环境搭建、基本操作、高级特性等,为后续更深入的学习打下坚实的基础。

    rails-basic-template:基本 Rails 模板

    Rails 基本模板参考: : Ruby on Rails Gemfile:定义应用程序正在使用的库的文件bundle install:基于Gemfile,安装所有库每次修改 Gemfile 时都应该运行bundle install gem 是 Ruby 的库RubyGems.org 是一个查找和...

    关于rails 3.1 cucumber-rails 1.2.0

    CoffeeScript是一种简洁、语法接近JavaScript的编程语言,它被引入以提供更优雅的语法,帮助开发者编写更简洁、可读性更强的前端代码。 Cucumber-Rails 1.2.0是Cucumber的一个扩展,专门为Rails应用设计。Cucumber...

    Ruby-Rails实战之B2C商城开发

    Rails的安全特性如CSRF保护和Strong Parameters是基础,还需配合HAML、ERB模板引擎的安全最佳实践。 10. 性能优化:使用缓存(如Rails的Page Cache、Action Cache)、数据库索引、资产打包(如Webpacker或Sprockets...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于...对于希望学习Rails框架,尤其是希望学习Rails 4.0版本的开发者来说,这本书提供了全面而系统的知识体系,并结合实际的练习项目,帮助学习者逐步成长为一名合格的Rails开发者。

    Rails

    Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY(Don't Repeat Yourself)原则和开发效率。 Rails的核心特性包括: 1. **约定优于配置**(Convention Over Configuration):...

    rails指南 中文版

    Rails提供了一套强大的模板系统,使得开发者可以使用ERB(Embedded Ruby)或HAML等语法来编写视图。 4. **Routes**:Rails的路由系统负责将HTTP请求映射到相应的控制器动作。通过配置routes.rb文件,开发者可以定义...

Global site tag (gtag.js) - Google Analytics