Ruby on rails開發從頭來(四十三)- ActiveRecord基礎(串連資料庫)

Active Record抽象了資料庫連接的概念,輔助應用程式來處理底層的資料庫連結的細節,作為替代,Active Record使用通用的調用,將細節委託給一組資料庫適配器。可以使用establish_connection(

Ruby on rails開發從頭來(三十七)- ActiveRecord基礎

ActiveRecord是Rails提供的一個對象關係映射(ORM)層,從這篇開始,我們來瞭解Active Record的一些基礎內容,串連資料庫,映射表,訪問資料等。Active Record使用基本的ORM模式:表映射成類,行映射成為對象,列映射成對象的屬性。與很多大量使用配置的ORM庫不同,Active Record最小化了配置。想象一下,有一個使用Active

Ruby on rails開發從頭來(windows)(三十一)- Rails的目錄結構

之前的三十篇都是根據書本上的內容寫的,很少有自己的理解,從這篇開始,來瞭解一些Rails的內部機理,所以理解的東西比較多,代碼就少了,這次我們來看看Rails的目錄結構。關於Rails的目錄結構,通過前面的練習,我們應該有一些瞭解了,我們的工作目錄主要是app和test兩個。其他目錄還瞭解不多,下面是一個Rails項目通常的目錄結構,我們還用前面的depot項目來作例子,目前的depot項目的結構:├─app             │ ├─controllers       │ ├─helpe

Ruby on rails開發從頭來(windows)(二十八)- 使用Rake運行測試

Rake是使用ruby編寫的程式,我們用Rake來讀入RakeFile。而Rakefile裡包含了定義的任務,每個任務都有一個名字,和它所依賴的一些任務,並且還有一組要執行的動作。現在我們來瞭解一下Rails中的Rake。 當你使用Rails的generate指令碼建立一個項目的時候,會自動在項目的根目錄產生一個Rakefile檔案,可以協助你完成很多任務,我們還可以使用一個命令來查看都提供了哪些功能,在Rails的命令列中執行:depot>rake –tasks

Ruby on rails開發從頭來(windows)(二十一)-測試Model時的問題

以前的隨筆都是按照書上的例子寫下來的,但是,這次在測試Model時,按照書上的例子代碼怎麼也走不通,所以就換個方式,這篇變成了提問。按照書上的說法,在products_test.rb開始的時候,會根據定義的yml檔案,載入測試資料到一個Hash裡,這樣,在test的時候我們就可以根據yml檔案中用例的名字來訪問一個product對象,例如:def test_read_with_hashassert_kind_of Product, @productvc_book =

Ruby on rails開發從頭來(windows)(二十)-測試model(CRUD)

上篇隨筆簡單瞭解了rails的測試和測試用資料的使用,這次來看看怎樣對一個model進行添刪查改的測試。1.還是使用上次寫的products_test.rb,修改test_turth方法的名字為test_create,並且使其內容為: def test_create  assert_kind_of Product, @product  assert_equal 1, @product.id  assert_equal "Pragmatic Version Control",

Ruby on rails開發從頭來(windows)(十一)-訂單(Order)

在上次的內容裡,我們實現了清空購物車和金額的格式化處理。這次實現訂單的模組。1.首先,我們要在資料庫裡建立Order表,建立表的Sql如下:create table orders (id int not null auto_increment,name varchar(100) not null,email varchar(255) not null,address text not null,pay_type char(10) not null,primary key

Ruby on Rails有用的外掛程式

檔案上傳(FileColumn)網頁:http://www.kanthak.net/opensource/file_column/安裝:http://opensvn.csie.org/rails_file_column/plugins/file_column主題支援(Theme

.NET程式員學習Ruby on Rails的理由

你是一位資深的.NET程式員,而且已經用ASP.NET構建過許多Web應用。無數個不眠之夜,為了讓ASP.NET控制項生命週期中的事件驅動模型按你想要的方式執行,你費盡心血,深入細節。你精通於使用諸如Presentation Model、Model View Presenter這類設計模式對你的應用進行分層,以使其更易測試和維護。你認為Ruby on

Ruby On Rails簡介

Ruby On Rails是一個用於編寫網路應用程式的軟體包.它基於一種電腦軟體語言Ruby,給程式開發人員提供了強大的架構支援.你可以用比以前少的多的代碼和短的多的時間編寫出一流的網路軟體.比較著名的社區網站43things.com, odeo.com和basecamphq.com就是用Ruby On Rails編寫的.Ruby On Rails的指導原則是"不要重複你自己"(Don't Repeat Yourself,

Ruby on rails開發從頭來(五十五)- ActiveRecord基礎(一對一關聯關係)

一對一關聯,或者更正確的說是一對零或一對一關聯,是通過外鍵引用到另外一張表中的至多一條記錄實現的,下圖描述了orders表和invoices表的關係:在Active Record中,要表示這樣的關係需要在Order類中添加has_one:Invoice聲明,並且同時在Invoice類中添加聲明belongs_to:order,事實上,我們可以把這種關聯關係看作是相互的,我們可以使Invoice有一個Order,也可以使Order有一個Invoice,不同的是,在將Object Storage

Ruby on rails開發從頭來(五十四)- ActiveRecord基礎(指定關聯關係)

Rails支援三種表間關聯關係,一對一,一對多,多對多,你需要在Model中加入聲明來標識這些關聯:has_one,has_many,belongs_to,has_and_belongs_to_many。一對一關聯關係可能存在於象訂單和發票這樣的關係,一個訂單只能有一個發票,在Rails中,我們這樣指明:class Order < ActiveRecord::Basehas_one :invoice. . .class Invoice <

Ruby設計模式透析:適配器(Adapter)

今天一大早,你的leader就匆匆忙忙跑過來找到你:“快,快,緊急任務!最近ChinaJoy馬上就要 開始了,老闆要求提供一種直觀的方式,可以查看到我們新上線的遊戲中每個服的線上人數。”你看了看日期,不是吧!這哪裡是馬上要開始了,分明是已經開始了!這怎麼可能來得及呢?“沒關係的。”你的leader安慰你道:“功能其實很簡單的,介面都已經提供好了,你只需要 調用一下就行了。”好吧,你勉為其難地接受了,對於這種突如其來的新需求,

Ruby設計模式透析:模板方法(Template Method)

今天你還是像往常一樣來上班,一如既往地開始了你的編程工作。專案經理告訴你,今天想 在伺服器端增加一個新功能,希望寫一個方法,能對Book對象進行處理,將Book對象的所有欄位以XML 格式進行封裝,這樣以後可以方便與用戶端進行互動。並且在封裝開始前和結束後要列印日誌,這樣方 便調試和問題定位。沒問題!你覺得這個功能簡直是小菜一碟,非常自信地開始寫起代碼。Book對象代碼如下:class Book attr_accessor :book_name, :pages, :price,

在linux和Windows環境下安裝Ruby

一、在linux下安裝Ruby1 - 首先,我們要取得最新的Ruby發行版本(目前是Ruby-1.8.2.tar.gz)。請到 www.ruby-lang.org/en/20020102.html 下載。2 - 然後解壓縮:tar -zxf ruby-1.8.2.tar.gz3 - 最後運行:./configuremakemake install這是基本的linux下軟體安裝方式:)4 - OK,現在敲:ruby

在Ruby中實現stream

Ruby語言在編程界可以說是一個後起之秀,出現的目的就是協助編程人員更簡便靈活的去編寫代碼程式,完成自己的功能需求。比如在Ruby實現stream方面。按照sicp,首要的是兩個函數:delay和force:def mem_proc(exp) alread_run=false result=false lambda{ if !alread_run result=exp.call alread_run=true result else result end } end def

ruby的模組

Ruby的模組非常類似類,除了:模組不可以有實體模組不可以有子類模組由module...end定義.實際上...模組的'模組類'是'類的類'這個類的父類.搞懂了嗎?不懂?讓我們繼續看下去吧.模組有兩種用法.其一是將相近的方法和實體放在一個相對集中的域裡.Ruby標準包裡的Math模組就扮演著這一角色:ruby> Math.sqrt(2)1.41421ruby> Math::PI3.14159::操作符告訴 Ruby

ruby的類常量解析

一個常量由大寫字母開頭.它應最多被賦值一次.在Ruby的目前的版本中,常量的再賦值只會產生警告而不是錯誤(non-ANSI版的eval.rb不會報告這一警告)ruby>fluid=3030ruby>fluid=3131ruby>Solid=3232ruby>Solid=33(eval):1: warning: already initialized constant Solid33常量可以定義在類裡,但不像實變數,它們可以在類的外部存取.ruby> class

ruby對象的初始化方法

前面一節的 Fruit 類有兩個實變數,分別表述水果的類型和狀態.直到為這個類寫了一個定製的inspect方法,我們方才瞭解它不會對一個缺乏屬性的水果做出合理的解釋.幸運的是,Ruby提供了一種允許實變數總是被初始化的方法.initalize方法當Ruby建立一個新對象時,它總是會尋找一個名為 initialize 的方法並執行它.因此,我們可以簡單通過一個initialize方法向實變數中加入預設值,這樣一來, inspect方法就有東西可說了.ruby> class Fruit|

ruby迭代器使用方法

迭代器並不是Ruby發明的.它廣泛地運用於各種物件導向語言.在Lisp中也有,只是不這麼叫罷了.儘管如此,迭代器的概念並不為許多人熟悉,因此我們將在此做較為詳細的介紹.你知道,動詞 iterate 的意思是做同一件事許多遍,因此,iterator就是用來將同一件事做許多次的東西.當我們寫代碼時,我們需要各種環境下的迴圈.在C裡,我們用for或者while.比如,char *str;for (str = "abcdefg"; *str != '\0'; str++) {/*

總頁數: 85 1 .... 71 72 73 74 75 .... 85 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.