Ruby on Rails,使用Rails Console進行ActiveRecord調試


在前文《Ruby on Rails,創建模型,附贈模型與表名不一致時的解決方法》中我們通過rails generate model Subject 方法創建了Subject類。繼承自ActiveRecord的Subject自然就擁有自動的增刪改查能力,我們接下來要基於這個模型進行一些實踐。不過在這之前有必要預先熟悉一個Rails提供給我們的調試工具“rails console”。在他的幫助下我們能拋開Controller和View,直接拿着Model進行調試。

打開Rails的命令行,到應用的根目錄,執行rails console啟動。注意,要到Rails應用的根目錄,我的是E:\greensoft\RailsInstaller\Sites\simple_cms>

E:\greensoft\RailsInstaller\Sites\simple_cms>rails console
Loading development environment (Rails 3.2.1)
irb(main):001:0>

回顯的第一行提示了啟動加載了Rails開發環境,之后顯示的與irb沒什么兩樣。接下來的操作其實就是普通的irb操作,只不過現在的這個irb,是能夠訪問當前rails應用的。先來幾個普通的irb操作

E:\greensoft\RailsInstaller\Sites\simple_cms>rails console
Loading development environment (Rails 3.2.1)
irb(main):001:0> 1+2
=> 3
irb(main):002:0> "abbuggy".upcase
=> "ABBUGGY"
irb(main):003:0>

接下來,操作一下我們自定義的模型Subject。創建一個Subject的實例subject1,再把它保存到數據庫中。

irb(main):001:0> subject1=Subject.new
=> #<Subject id: nil, created_at: nil, updated_at: nil>
irb(main):002:0> subject1.save
  [1m[36m (0.0ms)[0m  [1mBEGIN[0m
  [1m[35mSQL (16.0ms)[0m  INSERT INTO `subjects` (`created_at`, `updated_at`) VALUES ('2012-09-03 16:31:39', '2012-09
-03 16:31:39')
  [1m[36m (27.0ms)[0m  [1mCOMMIT[0m
=> true
irb(main):003:0>

使用的new,save操作都是繼承自ActiveRecord的,后面會詳細了解這里只要知道是在創建和保存對象就ok。

你看,通過rails console短短幾行代碼就可以進行模型與數據庫的交互操作,如果你需要向數據庫中插入一批實驗數據,這回很有幫助。

注意剛才進入rails console時候的回顯Loading development environment (Rails 3.2.1),系統提示我們進入的是開發環境,這是缺省值。如果你希望進入其他的環境只需要在rails console后面跟上其他環境的名字。如rails consle production,不過當嘗試進入已經上線運行的production環境是可得多加小心,不要把數據弄壞了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM