標籤

2012年4月15日 星期日

什麼是RENDER方法?

render這個詞有很多種解釋,而且很多都沒有關連(汗)
e.g.
http://zhidao.baidu.com/question/58191900.html?an=0&si=6

render
vt.【书】
1. 使得,使成为[O8][O9]
His stammer rendered him unfit for a teaching job.
他的口吃毛病使他不宜担任教职。
2. 给予,提供[(+to)][O1]
We are ready to render them assistance.
我们乐意援助他们。
3. 付给;交纳[(+to)][O1]
The conquered rendered tribute to the conqueror.
被征服者向征服者纳贡。
4. 提出;呈报;汇报
The treasurer rendered an account of all the money spent.
会计呈递了一份开支的清单。
5. 放弃;让与[(+up)]
The knights rendered their swords to the victors.
骑士向胜利者交剑投降。
6. 交回,归还[(+back)]
She rendered back his money.
她归还了他的钱。
7. 以...回报[(+for)]
render good for evil
以德报怨
8. 表达,描绘
In English the future tense is often rendered by means of auxiliaries.
在英语中,将来时常用助动词来表现。
9. 作出(判决等);执行,实施
10. (艺术上)表现;表演;朗诵;演奏;处理(绘画等的主题)
Hamlet was poorly rendered by him.
哈姆雷特被他演糟了。
11. 翻译,移译[(+in/into)]
This sentence can not be literally rendered.
这个句子不能直译。
12. 煎熬;提取(脂肪)[(+down)]
13. 【建】给...抹灰打底
vi.【书】
1. 报偿;酬报[(+to)]
Render to each according to his work.
要按劳付酬。

如果再看WIKI就更加混亂了
http://zh.wikipedia.org/zh-hk/渲染#.E9.87.87.E6.A0.B7.E4.B8.8E.E6.BB.A4.E6.B3.A2
==================================
本文主要從編程角度入手。
RENDER一般都解作渲染,不過要理解渲染在編程時的意思其實頗困難,
一來要看你是針對什麼領域(e.g.audio? video?...etc),
二來這個字的用途太廣,以至不同程式語言即使同樣用RENDER去命名某FUNCTION,
但其基本功能和運作可以完全兩點事。

現就比較COMMON一點的說法去解:
1. 就是將屬性和方法加入到對應的組件,然後組件加入對應的在容器裡面的意思 e.g. 將RENDER CALLBACK FUNCTION放入對應的AUDIO組件,利用CALLBACK去GET AUDIO DATA,再以RENDER 的特性將DATA拉到相應的DEVICE


2. For 繪圖,渲染是指將顏色,尺寸等屬性加入到當前畫布,可以把容器看看成一個大的畫布,裡面很有多小組件,每個組件有自己的屬性,渲染是個過程,就是添加屬性和方法的過程,也是添加子組件的過程  3. render意思是“渲染”,即組件在VIEW裡展示出來的過程,當渲染成功時觸發的事件!  不過總合而言都是有共通點的,都是將某組件中的內容及元素、事件、方法等進行處理。

其他:
http://book.cakephp.org/cn/compare/428/render
view可以用render来渲染(调用,CALL)另一个view。
controller里的action可以提供参数给调用的view。
controller也可以使用render语句。

最好的例子是render和partial一起用。
比如同一个页面,上面是一个form_tag,你在里面填入个string,
安submit,你填的东西就显示在下面。
要点是,刷新的不是整个page,而是只刷新了render的那一部分


render :action 不执行:action方法但渲染模板,页面不跳转;
redirect_to :action 执行:action方法同时渲染模板,页面也跳转

沒有留言:

張貼留言