Rails 问一个关于代码简洁方面的问题~~~

qqerqqer · 2012年03月14日 · 最后由 qqerqqer 回复于 2012年03月15日 · 3341 次阅读

总感觉把大量的<%%>代码块直接放在 view 文件中不太优美,不知道有没有什么替代的方法?

haml or slim

上上周末想从 haml 迁移 slim,有转换器转换代码很容易,不过装了 vim 的 slim 语法高亮插件之后有点卡,所以暂缓了。大家有这个问题吗?

缩进搞好就不乱了

我看 haml 总觉得要换算一下,不习惯,还是 erb 直观。

#1 楼 @Rei 关于 slim 有没有学习资料推荐,中英文的都可以~~~

为啥我就觉得 haml 很好呢,ruby 和 html 搞在一起,乱乱的

我感觉楼主不是这个意思呢....

楼主的意思是谈的 页面上出现了逻辑?

不然放这么多 <%%>干什么...

#10 楼 @poshboytl 好吧 楼主自己都说了,看来是我想多了... 你讨厌的只是 <%%>本身... :)

相对而言 asp.net mvc razor 引擎的@看起来很可爱啊...

比较喜欢 haml,试试 slim

看了下文档,感觉 slim 是用另一种方式来写 view,这不是我想要的。正如 10 楼 poshboytl 所说的,我不想 view 中出现太多的逻辑代码~~~

#10 楼 @poshboytl 谢谢,我想表达的就是这个意思~~~

#4 楼 @huacnlee 缩进确实很不好搞,主要是两个层次上的缩进互相影响,我也感觉做不完美,目前的思路是尽量用 helper

#15 楼 @qqerqqer 如果你遇到得问题是 view 上出现了逻辑代码。那么其它任何形式的 template(haml,slim)是不能解决你的问题的。

应该从代码本身入手: 我认为有两个途径,首先你要考虑的是这个逻辑是否必要。是否可以转移到 controller, model。 如果不能是否可以放在 helper?

而有一些简单的逻辑看来是需要的

比如会需要 <% if current_user %> <% else %> <% end %> 这个例子,我感觉没什么简化空间

比如 <%@posts.each do |p|%> <% end %> 这个例子你也可以考虑是否用 partial, 用 collection 的方式来处理掉这个循环

如果你给出实际的代码或许大家更容易帮助你 :)

#17 楼 @poshboytl 谢谢,已经说的很详细了。我也觉得主要的逻辑应该是在 controller, model 中的,不过才刚开始学 rails,可是还不是很清楚 Model,View,Controller 之间传值的过程,看来只能以后理解之后再优化了~~~

需要 登录 后方可回复, 如果你还没有账号请 注册新账号