Time of Update: 2017-02-27
在上次的內容裡,我們給購物車添加了錯誤處理,這次來實現清空購物車和金額的格式化處理。到現在我們還沒有給顯示購物資訊列表頁面的“empty cart”連結添加任何處理。我們首先來實現這個功能:1.在Store_Control.rb檔案中添加empty_cart方法:def empty_cartfind_cart.empty!flash[:notice] = 'Your cart is now empty'redirect_to(:action =>
Time of Update: 2017-02-27
預先載入子記錄討論的問題和“消極式載入”是相同的。通常Active Record會延遲從資料庫中載入子記錄,直到你需要他們,例如,通過Rdoc中的例子,我們假定部落格程式有一個Model,像下面這樣:class Post < ActiveRecord::Basebelongs_to :authorhas_many :comments, :order => 'created_on
Time of Update: 2017-02-27
很多程式使用的資料庫都包含有多個表,而且通常一些表之間還有關聯關係,訂單常含有多個條目,而一個條目又關聯到一種商品,一個商品可能又屬於多個商品分類,一個商品分類裡又包含有多個不同的商品。在資料庫中,這些關聯表現為使用主索引值把表關聯起來,也就是外鍵,但是這屬於底層的範疇,我們需要處理Model對象間的關聯,而不是資料庫中的列和鍵。如果一個訂單含有多個條目,我們需要有辦法來維持,處理它們的關係,如果一個條目引用到一種商品,我們或許想這樣做:price =
Time of Update: 2017-02-27
萬眾矚目的Ruby on Rails 2.0已經發布了,Rails架構在2004年誕生以來,一直保持著相當快的版本 升級速度:2005年發布了Rails1.0版本,2006年初發布Rails1.1版本,2007年初發布Rails1.2版本,而還 沒有等到2008年,在2007年聖誕前夕的12月6日,Rails2.0已經發布。Rails架構每個大的版本升級都給我們帶來了相當多的新功能,新驚喜。Rails1.0帶給我們完善的單元 測試和整合測試;Rails1.1帶給我們DataBase
Time of Update: 2017-02-27
資料庫上最常啟動並執行查詢莫過於根據指定條件返回符合的結果集,查詢可能是返回所有名字為‘dave’的訂單,或者是某個部落格上所有標題含Rails的post,在很多其他的架構和程式設計語言中,你需要建立sql來執行查詢,Active Record利用了ruby語言所包含的動態能力來做這些事。例如,我們的Order Model包含了諸如name,email,address這樣的屬性,我們可以使用這些名字對應的find方法來查詢,例如:order =
Time of Update: 2017-02-27
象大多數物件導向語言一樣,Ruby類也允許定義類變數和方法。一個類變數允許在一個類的所有執行個體間共用單個變數。在Ruby中,兩個@@號用於指示類變數。例如,如果你想要使一個BankAccount類的所有執行個體共用相同的利息率,那麼該類可能被如下定義:class BankAccount@@interestRate = 6.5def BankAccount.getInterestRate()@@interestRateendattr_accessor :balancedef
Time of Update: 2017-01-18
用英語命名標識符。 # bad - identifier using non-ascii characters заплата = 1_000 # bad - identifier is a Bulgarian word, written with Latin letters (instead of Cyrillic) zaplata = 1_000 # good salary = 1_000
Time of Update: 2017-01-18
實現pry,ronin,msf類似的終端下互動功能,這裡主要用到了ripl gem:1.能夠調用定義的方法,如help2.能夠執行系統命令3.能夠類似irb/pry進行ruby語言解析安裝:gem install riplgem install ripl-shell_commands樣本ripl這個gem,它也提供很多外掛程式,如下是一個簡單的終端下互動實現:require 'ripl'require 'ripl/shell_commands'require
Time of Update: 2017-01-18
一、建立檔案複製代碼 代碼如下: f=File.new(File.join("C:","Test.txt"), "w+") f.puts("I am Jack") f.puts("Hello World")檔案模式"r" :Read-only. Starts at beginning of file (default mode)."r+" :Read-write. Starts at
Time of Update: 2017-01-18
一元操作大家都知道,就是運算式的操作符只有一個輸入值。這個在C和Java中都很常見。今天我們要探討一下Ruby中的一元操作符重載。一元操作符有:+ – * ! & 等,為了避免與數值的 + – 混淆,重載一元操作符,要在後面加上一個 @ 操作符。1. 一個簡單的一元操作符重載例子:-@ 操作符我們以String類為例子。String預設沒有定義 – 操作符:複製代碼 代碼如下:1.9.3p125 :027 > a = "Hello"=> "Hello"1.9.3p125 :028 &
Time of Update: 2017-01-18
Ruby中的迴圈用於執行相同的代碼塊指定的次數。本章將詳細介紹Ruby支援的迴圈語句。Ruby while 語句:文法:while conditional [do] codeend執行代碼當條件為true時。while迴圈的條件是代碼中的保留字,換行,反斜線(\)或一個分號隔開。執行個體:#!/usr/bin/ruby$i = 0$num = 5while $i < $num do puts("Inside the loop i = #$i" ) $
Time of Update: 2017-01-18
Ruby的提供有條件結構,常見在現代程式設計語言中。在這裡,我們將解釋Ruby所有條件陳述式和修飾符Ruby if...else 語句:文法:if conditional [then] code...[elsif conditional [then] code...]...[else code...]endif 運算式用於條件執行。值為false和nil都是假的,其它的都是true。注意Ruby串使用的是elsif,不是else if也不是elif。if
Time of Update: 2017-01-18
1、阿里雲的一鍵安裝web全環境下載一鍵安裝web全環境 sh.zip 壓縮包上傳至伺服器,解壓、執行指令碼,具體步驟詳見這裡$ mv sh.zip /home/tmp/ & cd /home/tmp$ unzip sh.zip$ chmod -R 777 sh & cd sh# 任意選擇一種方法執行指令碼# 方法一$ ./install.sh# 方法二$ ./install_nginx_xxx.sh$
Time of Update: 2017-01-18
return,break,next 這幾個關鍵字的使用都涉及到跳出範圍的問題,而他們的不同 則在於不同的關鍵字跳出去的目的範圍的不同,因為有代碼塊則導致有一些地方需要格外注意。return常用方式通常情況下的return語句和大家理解的意思是相同的。def m1 param if param == 1 return 'returned 1' end 'returned default value' #
Time of Update: 2017-01-18
升級ruby和rails後進入script/consle出現: 複製代碼 代碼如下:/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError) from /usr/local/lib/ruby/1.8/irb/completion.rb:10
Time of Update: 2017-01-18
ruby判斷一個數是否為質數質數又稱素數。一個大於1的自然數,如果除了1和它自身外,不能被其他自然數整除的數;(除0以外)否則稱為合數 。根據算術基本定理,每一個比1大的整數,要麼本身是一個質數,要麼可以寫成一系列質數的乘積;而且如果不考慮這些質數在乘積中的順序,那麼寫出來的形式是唯一的。複製代碼 代碼如下:def prime?(num) res = [1] res << num if num == 0 || num ==
Time of Update: 2017-01-18
在去年的YOW Melbourne開發人員大會上,我參加了一些研習班。這些研習班由@coreyhaines和
Time of Update: 2017-01-18
1.前言
Time of Update: 2017-01-18
D瓜哥最近想做一個網站,另外,老早就有學習一門動態語言的想法,滿足著兩個條件的程式設計語言中,Ruby、Python是最合適的兩種語言。現在Ruby on
Time of Update: 2017-01-19
Selenium 1.x時代已經遠去,它理應躺在曆史的角落裡,靠著壁爐烤著火,抽著旱煙,在嫋嫋的升起的青煙中回憶那曾經屬於自己的美好時代。不過事實卻並非如此,現今原本早應退役的selenium 1.x卻還是多數人堅定的選擇,究其原因不過是1.x時代遺留下了大量的文檔,代碼,教程讓人們誤以為1.x還是這個年代的主流,還應該光鮮亮麗在前台演 出屬於它的美好。長江後浪推前浪,最為前浪的selenium 1.x的宿命應該是死在沙灘上。好了,直入主題,由於開源社區不再維護selenium