Ruby on rails開發從頭來(四十四)- ActiveRecord基礎(建立記錄)

來源:互聯網
上載者:User

Active Record使得實現CRUD的資料庫基本操作變得簡單,在下面的幾節裡我們使用Mysql資料庫中的orders表來進行CRUD的操作,這次先看建立(Create)。

我們假想有一個Model,名為Order:

class Order < ActiveRecord::Baseend

在物件導向的模型裡,表對應類,表中的行對應類的對象。我們可以通過建立一個類的對象來建立一條記錄。對orders表,我們可以使用Order.New()方法來建立一個Order的對象,也就對應了orders表的一條記錄,然後我們給該對象的每個屬性賦值,最後,我們調用對象的save()方法將資料寫回資料庫,如果不調用save()的話,那麼這個對象僅僅在記憶體中存在,而不是資料庫。

an_order = Order.newan_order.name = "Dave Thomas"an_order.email = "dave@pragprog.com"an_order.address = "123 Main St"an_order.pay_type = "check"an_order.save

Active Record的構造器有一個可選的塊(block),這個塊可以將建立的Order對象做為參數,這樣就不需要再建立一個Order類的對象的變數了:

Order.new do |o|o.name = "Dave Thomas"# . . .o.saveend

Active Record也可以接收一組雜湊(Hash)參數的值來作為選擇性參數,由屬性的名字和相對應的值組成:

an_order = Order.new(:name => "Dave Thomas",:email => "dave@pragprog.com",:address => "123 Main St",:pay_type => "check")an_order.save

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.