Time of Update: 2018-12-05
RESTful的化身----resource 當然,光把RESTful和resource扯到一起似乎相當狹義,在Rails中,ActionController::Resources抽象了REST中的Resource,這裡,我不談REST的相關概念,網上資料一大坨。我們就來看看Rails中是如何通過Resource來輕鬆,簡便的完成RESTful應用的吧。 resources.rb
Time of Update: 2018-12-05
開發環境:OS:Windows XPRuby:Ruby1.9.1Rails:Rails2.3.5will_paginate:will_paginate2.3.11(在命令列中運行 gem install mislav-will_paginate --source http://gems.github.com )IDE:Rubymine2.0.1DB:mysql5.0.9 本例在上一個例子(Ruby實踐—簡單資料庫操作)的基礎上實現分頁,利用的是will_paginate外掛程式一、安裝will_
Time of Update: 2018-12-05
本例在 Ruby Ruport實踐—報表參數實現 的基礎上進行改造,實現報表執行定義時報表參數的增、刪、改操作一、修改views/report_executions/edit.html.erb不僅顯示在建立報表執行時儲存的報表參數,還可動態顯示剩餘的參數(這裡控制參數最多可定義5個),這樣可避免遺忘定義報表參數或需要增加報表參數的現象 <h1>Editing report_execution</h1><% form_for(@report_execution)
Time of Update: 2018-12-05
一、確定安裝環境在安裝JRUBY之前,首先要確定本機上的JDK版本。如果使用的是jruby 1.1.1,那麼可以使用jdk 1.4(來自網路,未親自證明),但是如果使用的是jruby 1.1.2,那麼JDK的版本最好是1.6。JDK1.5的話可能會有部分早期版本不支援,具體的版本對應關係我沒有一個個去證明,因為這其實是挺繁瑣的,也沒找到文檔。二、版本擷取JRUBY的下載:http://dist.codehaus.org/jruby/jruby-bin-1.1.2.zipJAVA
Time of Update: 2018-12-05
/** $Id: ruby.c 571 2007-06-24 23:32:14Z elliotth $** Copyright (c) 2000-2001, Thaddeus Covert <sahuagin@mediaone.net>* Copyright (c) 2002 Matthias Veit <matthias_veit@yahoo.de>* Copyright (c) 2004 Elliott Hughes
Time of Update: 2018-12-05
.vcproj檔案對於visual studio(vc++)使用者來說並不陌生,而.vcxproj是VS2010推出之後,將.vcproj檔案統一改為.vcxproj,它們都是基於xml的檔案,那麼對它們的解析,有許多庫。這裡我就用libxml。 我要實現的功能很簡單就是項目中所有的工程加入一個 ignorewarning(消除warning),比如/ignore:4011 。 這裡就要寫個指令碼對所有的.vcproj(vs2008以前的版本)或 所有的.vcxproj(
Time of Update: 2018-12-05
文章目錄 關於C++0x關於lambda運算式Ruby代碼C++代碼 關於C++0x預計於明年底推出的新標準C++0x,雖說已接近收官階段,卻仍有若干有待接納的新提案被提出。尤其值得關注的是,與lambda運算式以及局部函數相關的提案“Unified Function
Time of Update: 2018-12-05
#Class describ ------rdoc rules#= headers#this is header content#== sub header# this is sub header content#=== sub sub header# this is sub sub headerclass Animal attr_accessor :name #-------------① #this is the comment for the 'new' method ! def
Time of Update: 2018-12-05
Ruby 之 Block, Proc, LambdaBlockBlock 不是對象,是Ruby的語言特性,近似於閉包(Closure)。範例:def meth res= yield "Block called returns #{res}"endputs meth do next “next_value” end #Block called returns next_valueputs meth do break “break_value” end #
Time of Update: 2018-12-07
Ruby on Rails的下載及安裝以及開發環境的搭建要基於ruby開發應用程式,我們必須安裝ruby、gem、rails、mongrel。 第一,到官方網站上下載最新的Ruby One-Click
Time of Update: 2018-12-06
如果你是個學生,你應該會C,C++和 Java。還會一些VB,或C#/.NET。多少你還可能開發過一些Web網頁,你知道一些HTML,CSS和JavaScript知識。總體上說,我們 很難發現會有學生顯露出掌握超出這幾種語言範圍外的語言的才能。這真讓人遺憾,因為還有很多種程式設計語言,它們能讓你成為一個更好的程式員。在這篇文章裡,我將會告訴你,為什麼你一定要學習Python或Ruby語言。跟C/C++/Java相比 —
Time of Update: 2018-12-06
迭代器是進階語言的特性,非常好用。比如數組的迭代 [1,2,3].each{|n| puts n.to_s}(1..100).each{|n| puts n.to_s}迭代每個元素字串的迭代"abdc".each_byte{|chr| printf "%c\n",chr} 迭代每個byte"a\nb\nc".each_line{|s| puts s} 以分行符號進行分割迭代retry的使用:迭代過程中可以使用retry來返回到迭代器的開始,比如Code highlighting
Time of Update: 2018-12-07
mailfactory是rubyforge上一個簡單的郵件發送包, 通過它我們可以很方便的發送帶附件和html格式的郵件,不過目前的mailfactory在支援中文上有一些問題, 需要打一個補丁 先需要通過 gem install mailfactory 安裝 然後是對mailfactory的補丁,可以直接修改mailfactory的源檔案,也可以單獨作一個檔案mailfactory_enhence.rb,只要在require 'mailfactory'以後require
Time of Update: 2018-12-07
不同於java, ruby內部並不支援unicode(據說到2.0會支援, 但是沒有確認) 在字元編碼處理上ruby是藉助於Open Group的iconv庫, 這個庫在linux上似乎預設就有, windows上沒有這個庫, 解決方案在末尾使用iconv很簡單,
Time of Update: 2018-12-07
Learning more than one programming languages,perferable many different style ones, like scripting, object-oriented,functional, logic,etc. Learning languages teaches you many about programming . Read good bools, for example, "Pragmatic Programmers"
Time of Update: 2018-12-07
先來看別名,ruby中可以給方法或全域變數起一個別名,有意思的是:方法別名定義後,即使對應的方法在後面的代碼中重新定義(即修改內部實現)後,別名仍然可以調用到修改前的方法,而全域變數則不行。def meth puts "This is meth"endalias:orgin_meth:methmeth #=> This is methorgin_meth #=>This is methdef meth puts "a new meth"endmeth #=> a new
Time of Update: 2018-12-07
在測試 model時,有一個改動是observe, 我想一把測試了,可是這個observer在rspec中一直不肯執行. 但在console下的test env沒有任何問題。哥花了一天的時間來調試,終於還是沒有搞定,有遇到此類的問題的朋友可以協助我一下,謝謝。用我的垃圾英語在rails的mail
Time of Update: 2018-12-07
昨天在寫ruby的過程中發現一個很奇怪的問題。我們在ruby中調用shell命令,通常使用反括弧(數字鍵1左邊那個)把shell 命令括起來即可,比如:`ls -l`這行代碼的輸出是一個字串,既是ls -l命令的返回結果。但是當shell命令中使用了Process Substitution文法後,悲劇就發生啦。比如下面這個命令:cat <(echo Hello)這個命令先運行小括弧裡面的內容,然後將echo
Time of Update: 2018-12-07
我們知道頂級域,定義域的self是啥?puts self #mainputs self.class #Object我們知道當一個方法被調用的時候,如果沒有對象接受,預設就是self,如:def tell_me_who puts selfendtell_me_who #main 方法調用是這樣的步驟,先尋找當前對象的所在類的執行個體方法存在方法與否,如果存在,調用方法,如果不存在則查看superclass,直到
Time of Update: 2018-12-07
全域變數由$開頭.它們可以在程式的任何位置訪問到.在初始化前,全域變數有一個特殊的值 nil. 這裡列出了一些以$打頭並跟單個字元的特殊變數.比如,$$包含了Ruby解譯器的進程id,它是唯讀.這裡是主要的系統變數以及它們的含義(細節可在Ruby的參考手冊中查到): $! 最近一次的錯誤資訊 $@ 錯誤產生的位置 $_ gets最近讀的字串 $. 解譯器最近讀的行數(line number) $& 最近一次與Regex匹配的字串 $~ 作為子運算式組的最近一次匹配 $n