通常,在rails中处理文件上传,我们会这么做,在view中生成相应html tag: <input name="my_uploaded_file" type="file">   然后,在controller中,我们可以通过params[:my_uploaded_file]得到上传文件,进行相应处理。  假如,现在作为controller的开发人员,我不知道view开发人员将input的name设置成什么?那应该如何处理呢?可能这个例子有些极端,绝大部分时候不存在这个问题。那再假如,现在我们要利用rails实现一个api,该api的功能是实现文 ...
前言   本文提到的typo版本是目前最新的5.0.3.98.1,theme_support版本是1.3.0。在typo中,我们看到了很好很花哨的换肤机制,而theme_support则是从typo中抽取出来的一个plugin,以供其他程序进行换肤操作。  先简单介绍下typo换肤的使用。typogarden提供了typo十分丰富的皮肤,我们只需要下载喜欢的皮肤,解压,放在typo程序根目录的theme目录下即可,大致的结构图如下所示:  然后,就可以在admin界面选择自己的皮肤。的确十分方便。但是,使用这种机制,会存在一个严重的性能问题,下面 ...
  几乎所有的现代编程语言都提供了&&操作符,ruby也不例外。我想每个人都知道&&的用法。但是在ruby中,利用&&可以实现一些“诡异”的用法,如下例子:   1. 基于这样一个事实:几乎ruby中的所有expression都有返回值(甚至if,case等等),例如:   a = 10 + 20 # => 30 some_bool = true # => true    利用这样的事实,怎么和&&一起“妙用”呢 ...
  不管你是用c,c++,c#,java。。。不管你是用循环,递归,lambdas。。。我保证,你写的斐波拉契数列生成算法,没有用ruby写来得简洁: x,y = 0,1 Array.new(10) {|i| [0,1].include?(i) ? 1 : (x,y = y,x+y)&&(x+y) } #=>[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]   不懂的语言不敢保证~呵呵    
前言   经过一番试验和考虑...一,我尝试了一些思维导图工具(MindMapper,FREEMIND),但我始终没有找到一种好的方式将自己学习Rails源代码的思路表述出来,就此作罢(顺便问问,有研究思维导图的同学么?能否推荐两个自己觉得用起来比较顺手的工具)。二,不再打算整理代码运行顺序图,对不熟悉Rails源代码的同学们来说,这个图可能的确没什么帮助,甚至会把人搞晕。我现在打算从Rails源代码功能点的角度出发,根据具体功能点,结合Rails源代码进行学习,整理,总结。如果某些源代码比较复杂,牵涉类比较繁多,我仍然打算整理一个类图,从一个高的层次了解系统内 ...
前言   在《Routing的载入》中,我大致介绍了一下Rails中最简单的route是如何加载的。这篇文章,我将来讲一讲Rails系统中更为复杂的named route和与RESTful相关的resource是如何被加载的。为了不重复太多的笔墨,这篇文章将在前文的基础上进行,如果发现单独看此文时,有少许云里雾里,建议先看一看我的前篇文章:Ruby On Rails-2.0.2源代码分析(2)-Routing的载入 进化的routing-named route   首先,named route的载入全部发生在routing. ...
这两天,在调试Rails的时候,碰到一个极度奇怪的问题,困扰了我足足两天,实在让我头晕脑胀,耳晕目眩。。。。。。具体情况描述如下: Rails框架的某一个地方使用了ActiveSupport::OptionMerger类,比如:ActiveSupport::OptionMerger.new(self, options)。但是,只要我通过单步进入到OptionMerger类initialize方法的时候,进程突然中止了,netbean的debug窗口提示一个错误:“can't dup NilClass”。但是,如果我不调试,直接F6运行程序的话,却跟啥事都没有一样通过了。调试和运行行为不一致 ...
  前言   在前一篇文章中,我大致的讲解了一下Rails的启动过程,并罗列了个人觉得比较核心的源代码进行分析,算是管中窥豹吧~在分析initializer.rb代码的时候,我说过“initializer.rb的介绍暂时结束”,因为我特意略过了初始化过程中一个十分相当非常重要的过程--Routing的载入。这里,我专门用这篇文章来讲解一下。   Routing之于Rails就如同waiter(waitress)之于饭店。当你怀揣着这个月辛辛苦苦写软件得来的工资,来到一个上档次的饭店,如果没有门口的门生引领你到空闲 ...
前言   本文主要是针对Ruby On Rails 2.0.2的源代码进行分析,学习与研究。所使用的工具是NetBean 6.1 Beta,WEBRick,SciTE,ruby-debug-base(0.10.0),ruby-debug-ide(0.1.10)。Ruby版本为1.8.6。   应该怎么分析总结,是开始最令人头痛的事,Ruby是面向对象的语言,从对象的层次记录吧,似乎一切都不那么直观,一个庞大的系统摆在眼前,整理一个类图,继承关系图。。。有点牛啃南瓜,无从下口的感觉。最后,决定打算从Ruby的本质-解释语言下手,从解释器的角度出发, ...
woody_420420
搜索本博客
我的相册
49c22e18-d99f-3853-a474-235e6f62169a-thumb
theme_dir.PNG
共 14 张
最近加入圈子
存档
最新评论