- 浏览: 162065 次
- 性别:
- 来自: 华东
文章分类
最新评论
-
chen_miao:
我是初学者,请问,我在flex设计好了带有按钮和下拉框的界面, ...
ruby+flex实现天气预报 -
barrytyh:
很多技术人员都有想法,但忘了一个根本性的问题,谁在给你MONE ...
互联网创业与软件开发 -
fireflyman:
囧......
关于并发和并行 -
fireflyman:
你老再次出现了
谈谈互联网新产品如何起步 -
qhh394141930:
写得很详细,受教了。谢谢!
从瀑布模型、极限编程到敏捷开发
请您先登录,才能继续操作
前段时间听说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' %>也是可行的。
评论
23 楼
dank
2008-11-02
有时候感觉模板是很多余的东西了。其实作为WEB程序员对DIV和CSS的熟悉是必须的。对于美工来说熟悉一套程序开发的流程也是必须的。在我公司里,WEB程序员都有对DIV和CSS的培训,美工也经常叫接受软件开发的简单培训。对程序实现不了解的美工和页面是作不出好的页面结构设计了。
22 楼
reeze
2008-10-17
还是习惯haml,很简洁。。。
用习惯了很舒服。
用习惯了很舒服。
21 楼
junxiang
2008-10-12
不太懂,我只用了rhtml,感觉已经很习惯了啊,有必要再接触其它的模板吗?
20 楼
liuqiang
2008-10-08
<p>老实说,我对美工的依赖很少,一般直接拿豆瓣或者sohu的样式和图片改改用,最多叫美工改改图片之类的。</p>
<p> </p>
<p> </p>
19 楼
lix23
2008-10-06
刑天战士 写道
liuqiang 写道
你们这种做法是合理的,一般美工给出个大致的页面,剩下的活可能就直接给程序了,不可能为了修改一个比如高度或者宽度的问题,还要拿给美工再修改,这样影响效率。
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
压根就不懂css的飘过……
我们公司都是这么做的,开发人员不懂css,调整style的活必须由美工来完成。他们不懂程序,需要告诉他们怎么改。有时候效率确实很低
调整style的活必须由美工来完成---- 面对这种情况,沟通成本很高,特别是哪种JS动态生成的HTML代码。
18 楼
xqstation
2008-09-26
还是html漂亮啊,以前我就说过这个问题了。在程序里有大量的这些东西,结果导致调整HTML结构的时候就出问题了。很麻烦的。
个人比较喜欢这样
<h1>${entry.title}</h1>
.....
这样的话美工也能看明白,什么东西显示到哪里,只需要自己调整就行了。
PS:程序员兼美工飘。。。
个人比较喜欢这样
<h1>${entry.title}</h1>
.....
这样的话美工也能看明白,什么东西显示到哪里,只需要自己调整就行了。
PS:程序员兼美工飘。。。
17 楼
toostupid
2008-09-17
看html的代码量吧,代码量少的话无所谓。
感觉上不是必要。碰上了activescaffold之类的东西更加没必要。
感觉上不是必要。碰上了activescaffold之类的东西更加没必要。
16 楼
liuqiang
2008-09-16
不仅仅限于简化HTML标签,其实还有很多其他特性(核心的),我还没有介绍,感兴趣的朋友可以去深入研究下。
15 楼
jack
2008-09-16
liuqiang 写道
jack 写道
感觉就是少打了几个字,还增加了测试和调试代码生成工作,不划算
这个不能简单的这么说,你用erb也要测试和调试代码的吧,除非你直接上HTML,ROR的哲学或许就是面向人的,你需要在可维护性 性能 易用性之间找到一个平衡点
哦,我没有说明白,我是指多了调试生成html代码的工作,如果html代码输出有问题,页面就变形。一般仅需要检查html代码,看看那个tag或者css出错了。 如果多了个模版系统的话,需要去检查模版代码是否写的有问题。所以多了调试和测试生成html代码的工作,这部分工作本可以不需要做的。
这个模版系统,我觉得可以在一些需要用ruby代码拼接html代码的地方使用。特别是一些help函数. 不建议全部页面都换成模版。
14 楼
exquan
2008-09-16
一般表单或复用的地方用erb,其它地方用html,有时还有JS处理面页,绑定事件。。。
这时HTML看起来更直观,更方便了,反正偶很熟愁html+css
这时HTML看起来更直观,更方便了,反正偶很熟愁html+css
13 楼
qichunren
2008-09-16
这个与haml到底有什么区别呢?我看haml简洁一点。
12 楼
liuqiang
2008-09-16
<div class='quote_title'>jack 写道</div>
<div class='quote_div'>感觉就是少打了几个字,还增加了测试和调试代码生成工作,不划算</div>
<p> </p>
<p> 这个不能简单的这么说,你用erb也要测试和调试代码的吧,除非你直接上HTML,ROR的哲学或许就是面向人的,你需要在可维护性 性能 易用性之间找到一个平衡点</p>
<div class='quote_div'>感觉就是少打了几个字,还增加了测试和调试代码生成工作,不划算</div>
<p> </p>
<p> 这个不能简单的这么说,你用erb也要测试和调试代码的吧,除非你直接上HTML,ROR的哲学或许就是面向人的,你需要在可维护性 性能 易用性之间找到一个平衡点</p>
11 楼
jack
2008-09-16
感觉就是少打了几个字,还增加了测试和调试代码生成工作,不划算
10 楼
liuqiang
2008-09-16
<div class='quote_title'>jack 写道</div>
<div class='quote_div'>性能如何,大规模应用的情况下,会不会使得的性能大量下降? 有没有内嵌的cache机制?</div>
<p> </p>
<p> 有内嵌的cache机制,而且很好用,你可以查下doc,说的很明白:)</p>
<div class='quote_div'>性能如何,大规模应用的情况下,会不会使得的性能大量下降? 有没有内嵌的cache机制?</div>
<p> </p>
<p> 有内嵌的cache机制,而且很好用,你可以查下doc,说的很明白:)</p>
9 楼
jack
2008-09-16
性能如何,大规模应用的情况下,会不会使得的性能大量下降? 有没有内嵌的cache机制?
8 楼
刑天战士
2008-09-15
liuqiang 写道
刑天战士 写道
liuqiang 写道
你们这种做法是合理的,一般美工给出个大致的页面,剩下的活可能就直接给程序了,不可能为了修改一个比如高度或者宽度的问题,还要拿给美工再修改,这样影响效率。
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
压根就不懂css的飘过……
我们公司都是这么做的,开发人员不懂css,调整style的活必须由美工来完成。他们不懂程序,需要告诉他们怎么改。有时候效率确实很低
先别急着飘,你肯定是了解css的,你可说过你天天操作dom的哦,我不信你能天天无视style
你们其实可以这样,美工定义css,开发人员调用就可以了
美工定义class或者style?很多情况下是这样的,老板要求员工先别管样式,做个样子出来看看,做完了发现太难看,让美工改,美工不会改,于是程序员教……因为,在现实情况下这只是个Holy Grail
7 楼
liuqiang
2008-09-15
<div class='quote_title'>刑天战士 写道</div>
<div class='quote_div'>
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'>你们这种做法是合理的,一般美工给出个大致的页面,剩下的活可能就直接给程序了,不可能为了修改一个比如高度或者宽度的问题,还要拿给美工再修改,这样影响效率。 <br/><br/>短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……</div>
<br/>压根就不懂css的飘过…… <br/>我们公司都是这么做的,开发人员不懂css,调整style的活必须由美工来完成。他们不懂程序,需要告诉他们怎么改。有时候效率确实很低</div>
<p> </p>
<p> 先别急着飘,你肯定是了解css的,你可说过你天天操作dom的哦,我不信你能天天无视style</p>
<p> </p>
<p>你们其实可以这样,美工定义css,开发人员调用就可以了</p>
<div class='quote_div'>
<div class='quote_title'>liuqiang 写道</div>
<div class='quote_div'>你们这种做法是合理的,一般美工给出个大致的页面,剩下的活可能就直接给程序了,不可能为了修改一个比如高度或者宽度的问题,还要拿给美工再修改,这样影响效率。 <br/><br/>短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……</div>
<br/>压根就不懂css的飘过…… <br/>我们公司都是这么做的,开发人员不懂css,调整style的活必须由美工来完成。他们不懂程序,需要告诉他们怎么改。有时候效率确实很低</div>
<p> </p>
<p> 先别急着飘,你肯定是了解css的,你可说过你天天操作dom的哦,我不信你能天天无视style</p>
<p> </p>
<p>你们其实可以这样,美工定义css,开发人员调用就可以了</p>
6 楼
刑天战士
2008-09-15
liuqiang 写道
你们这种做法是合理的,一般美工给出个大致的页面,剩下的活可能就直接给程序了,不可能为了修改一个比如高度或者宽度的问题,还要拿给美工再修改,这样影响效率。
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
压根就不懂css的飘过……
我们公司都是这么做的,开发人员不懂css,调整style的活必须由美工来完成。他们不懂程序,需要告诉他们怎么改。有时候效率确实很低
5 楼
liuqiang
2008-09-15
你们这种做法是合理的,一般美工给出个大致的页面,剩下的活可能就直接给程序了,不可能为了修改一个比如高度或者宽度的问题,还要拿给美工再修改,这样影响效率。
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
短时间熟悉div+css对于candidate也是一种必须的快速学习能力,何况仅仅是熟悉……
4 楼
liuqiang
2008-09-15
<div class='quote_title'>火星叔叔马丁 写道</div>
<div class='quote_div'>我和lgn21st一个观点 <br/><br/>程序员的福音 美工的噩梦</div>
<p> </p>
<p> 这就看程序和美工如何分工了, 美工=设计图片/flash+css+layout 足够了吧?</p>
<p> </p>
<p>程序只需要在动态显示的部分写标签,所以我一直认为程序需要懂点美工的活,懂点div+css是大有裨益的。</p>
<p> </p>
<p>据我的经验,把整个view交给美工不大现实,事实上美工也可以不必熟悉tag</p>
<div class='quote_div'>我和lgn21st一个观点 <br/><br/>程序员的福音 美工的噩梦</div>
<p> </p>
<p> 这就看程序和美工如何分工了, 美工=设计图片/flash+css+layout 足够了吧?</p>
<p> </p>
<p>程序只需要在动态显示的部分写标签,所以我一直认为程序需要懂点美工的活,懂点div+css是大有裨益的。</p>
<p> </p>
<p>据我的经验,把整个view交给美工不大现实,事实上美工也可以不必熟悉tag</p>
发表评论
-
创建你自己的rails generator
2010-01-27 15:01 1218在多个rails项目中,有时需要共享一些公用的componen ... -
rspec实践一(从零开始)
2009-12-25 12:52 1380关于利用rspec的文章感 ... -
javascript-image-cropper-ui with rails
2009-07-31 23:18 1497在rails上传头像的过程中,一般后端会采用rma ... -
简简单单在rails中做定时任务
2009-07-27 19:58 3385在平时的开发过程中,经常会遇到一些定时任务的需求 ... -
用restful_authentication和role_requirement搭建验证授权系统
2008-09-30 21:20 1555转自 http://fanix.iteye.com/blog/ ... -
Rails中html_escape和sanitize
2008-09-26 13:33 2556转自:http://blackanger.blog.51cto ... -
在rails中优雅的进行模型校验
2008-09-07 20:53 2188在用rails进行开发时,最常见的操作的是前台提交 ... -
win+apache+mongrel下部署ROR
2008-09-01 20:16 1138gem install mongrel #选择最 ... -
Ruby中使用Memecached
2008-09-01 20:03 1296sudo apt-get install memcached ... -
在rails中使用memcached
2008-09-01 20:00 1123libeven memcached的使用需要li ... -
在Ruby中设计Callback机制
2008-08-31 21:11 1936阅读Paperclip源码,发现里面有一个不错的callbac ... -
我怎么就觉得rails适合做大型应用
2008-08-25 13:24 3516之前读了不少 ... -
像操作ActiveRecord一样操作XML
2008-08-10 18:05 1266在开发RESTful应用或者实现多个应用系统交互时 ... -
ImageMagick/Rmagick 安装的那些事儿
2008-08-05 12:54 1171windows平台×××××××××××××××××××××× ... -
让google来为rails画图表
2008-07-26 17:05 1366去年年底的时候,所做的一个rails项目涉及到图表 ... -
10分钟给一个rails遗留系统添加标签功能
2008-07-19 10:18 988早些时候做过了一个rails系统,当时没有涉及到标签的功 ... -
让rails处理图片再简单一点
2008-07-14 18:25 3060先来看看rails处理图片的过程吧,用户上传图片, ... -
分享一款word风格的rails在线编辑器
2008-07-09 16:51 1502在线编辑器是web应用中最常见的东西了,关于它的作用 ... -
让rails处理图片再简单一点
2008-07-07 12:50 1109先来看看rails处理图片的过程吧,用户上传图片, ... -
利用rails轻松建立个性化主页门户
2008-07-04 12:10 1117简单来说,个性化主页就是结合了各种小模块和网络信息 ...
相关推荐
在这个“ruby on rails在线考试系统”中,我们可以探讨以下几个核心知识点: 1. MVC架构:Rails的核心设计原则是DRY(Don't Repeat Yourself),通过MVC模式将应用程序分为模型、视图和控制器三个部分,各司其职。...
标题中的"Ruby-开箱即用的Rails项目模板"指的是一个预先配置好的Rails项目结构,它包含了特定的设置和集成,以便开发者能够快速启动新项目,无需从零开始配置各种依赖和工具。这种模板通常会包含最佳实践和常用库,...
在构建学生选课系统时,Rails的强大功能和简洁语法将使开发工作变得更为高效。 首先,我们需要设计数据库模型(Model)。在学生选课系统中,关键的实体包括学生(Student)、课程(Course)和选课记录(Enrollment...
Ruby StringTemplate是一个高效且专为Rails框架设计的模板引擎,它充分利用了Ruby语言的字符串插值功能来提高渲染速度。在Rails应用中,模板引擎扮演着至关重要的角色,它们负责将数据模型与视图结合,生成动态HTML...
在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...
Ruby On Rails(简称Rails)是一种使用Ruby语言编写的开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构模式,旨在提高开发效率,强调简洁和生产力。本项目是基于Rails构建的一个洗衣管理系统,旨在帮助用户...
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 ...
《基于Ruby On Rails的在线购书系统》是一个深入探讨如何利用Ruby on Rails框架构建电子商务平台的项目。Ruby on Rails(RoR)是一个开源的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,以Ruby编程语言为...
Rails3消息队列系统 Sidekiq
在Ruby on Rails中,开发者可以快速构建功能丰富的动态网站,因为它提供了大量的内置功能和库,如数据库连接、ORM(对象关系映射)系统ActiveRecord、模板引擎ActionView以及路由系统ActionController等。...
Rails的核心理念是DRY(Don't Repeat Yourself),它鼓励开发者编写简洁、可复用的代码。框架提供了丰富的内置功能,如路由、ORM(对象关系映射)、数据库迁移和强大的脚手架工具,帮助快速开发应用程序。 2. **...
Fepss开发的免费OA系统也受到中小型企业的青睐,本公司网站发布系统是基于ruby on rails开发的,这也是国内首款开放源码的基于rails开发的网站系统。 本网站系统是作为OA系统的前端展示系统,所倚赖的包都在plugin...
- 使用系统helper简化模板。 - 自定义helper函数封装复杂逻辑。 通过以上内容的学习,初学者可以全面掌握Ruby on Rails的基础知识,包括环境搭建、基本操作、高级特性等,为后续更深入的学习打下坚实的基础。
Rails 基本模板参考: : Ruby on Rails Gemfile:定义应用程序正在使用的库的文件bundle install:基于Gemfile,安装所有库每次修改 Gemfile 时都应该运行bundle install gem 是 Ruby 的库RubyGems.org 是一个查找和...
CoffeeScript是一种简洁、语法接近JavaScript的编程语言,它被引入以提供更优雅的语法,帮助开发者编写更简洁、可读性更强的前端代码。 Cucumber-Rails 1.2.0是Cucumber的一个扩展,专门为Rails应用设计。Cucumber...
Rails的安全特性如CSRF保护和Strong Parameters是基础,还需配合HAML、ERB模板引擎的安全最佳实践。 10. 性能优化:使用缓存(如Rails的Page Cache、Action Cache)、数据库索引、资产打包(如Webpacker或Sprockets...
《Rails101_by_rails4.0》是一本专注于...对于希望学习Rails框架,尤其是希望学习Rails 4.0版本的开发者来说,这本书提供了全面而系统的知识体系,并结合实际的练习项目,帮助学习者逐步成长为一名合格的Rails开发者。
Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY(Don't Repeat Yourself)原则和开发效率。 Rails的核心特性包括: 1. **约定优于配置**(Convention Over Configuration):...
Rails提供了一套强大的模板系统,使得开发者可以使用ERB(Embedded Ruby)或HAML等语法来编写视图。 4. **Routes**:Rails的路由系统负责将HTTP请求映射到相应的控制器动作。通过配置routes.rb文件,开发者可以定义...