Rails First Blood
2015-11-18 00:00
344 查看
==intro== Ruby on Rails。 Rails是一套網站開發框架幫助你建立網站應用程式,它不是程式語言。 執行效能是絕對比不上靜態語言的;沒有編譯期可以檢查型別錯誤 單元測試;TDD(Test-driven development)測試驅動開發等敏捷最佳實務。 http://rubyconf2008.confreaks.com/matzs-keynote.html http://confreaks.net/videos/159-rubyconf2009-keynote-address http://confreaks.net/videos/11-mwrc2010-ruby124c41 ==dev env== Ruby 1.9.3以上版本或JRuby sqlite -> MySQL/PostgreSQL Ruby on Rails (apache、nginx) ENCODE:UTF-8,無BOM(byte-order mark)表頭 ===ENV ON Ubuntu 14.04=== sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev wget https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz tar xf ruby-2.2.2.tar.gz cd ruby-2.2.2/ ./configure make sudo make install ruby -v #gem source change gem sources -l gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/ sudo gem install rails --no-ri --no-rdoc #RubyGems是Ruby的套件管理系統 gem -v 告訴你 RubyGems 的版本 gem update --system 升級RubyGems的版本 gem install gem_name 安裝某個套件 ;no RDoc和ri文件 gem install gem_name --no-ri --no-rdoc add “gem: --no-ri --no-rdoc” to “~/.gemrc” file gem list 列出安裝的套件 gem update gem_name 更新最新版本 gem update 更新所有你安裝的Gems gem install -v x.x.x gemname 安裝特定版本 gem uninstall gem_name 反安裝 ===rails start=== CRUD指的是Create(新增)、Read(讀取)、Update(更新)、Delete(刪除)四種操作資料的基本方式。 rails的指令可以初始一個Rails專案目錄。 $ mkdir projects $ cd projects $ rails new demo --skip-test-unit --skip-bundle 加上该参数,bundle install 再也不会从rubygems.org 下载文件了。 $ cd demo $ bundle config mirror.https://rubygems.org https://ruby.taobao.org/ ;更改ruby bundle $ bundle install #每次有修改Gemfile這個檔案都需要重新執行bundle #dev除了修改config或vender目錄下的檔案需要重新啟動其它修改都不需要 #production任何程式的修改都需要重启服务器 $ cd projects/demo $ bin/rails server visti by http://LOCALHOST:3000 ==OTHERS== ====檔案/目錄 用途==== Gemfile 設定Rails應用程式會使用哪些Gems套件 README 專案說明:你可以用來告訴其他人你的應用程式是做什麼用的,如何使用等等。 Rakefile 用來載入可以被命令列執行的一些Rake任務 app/ 放Controllers、Models和Views檔案,接下來的內容主要都在這個目錄。 config/ 應用程式設定檔、路由規則、資料庫設定等等 config.ru 用來啟動應用程式的Rack伺服器設定檔 db/ 資料庫的結構綱要 doc/ 用來放你的文件 lib/ 放一些自定的Module和類別檔案 log/ 應用程式的Log記錄檔 public/ 唯一可以在網路上看到的目錄,這是你的圖檔、JavaScript、CSS和其他靜態檔案擺放的地方 bin/ 放rails這個指令和放其他的script指令 test/ 單元測試、fixtures及整合測試等程式 tmp/ 暫時性的檔案 vendor/ 用來放第三方程式碼外掛的目錄 如果啟動伺服器時出現Could not find a JavaScript runtime的錯誤,請編輯Gemfile這個檔案加上一行gem 'therubyracer',輸入bundle install安裝這個套件,然後再啟動一次rails server即可。這是因為在Ubuntu作業系統上預設沒有任何JavaScript直譯器可以給Rails使用。你可以裝Node.js或是安裝therubyracer這個Ruby套件來獲得JavaScript直譯器。 在Controller中,一個公開函式(public method)就代表一個Action,一個Action對應一個HTTP的請求和回應。 Ruby使用#进行单行注释。 多行注释, =begin ... =end ====设置首页==== 将首页设置为welcome#index ---config/routes.rb root :to => "welcome#index" ==== 数据库==== Rails系统默认使用sqlite,一般不会用在生产中,但是使用在测试中是十分好用的。 配置文件是config/database.yml,他有三种执行环境test,development,production。 默认可以不做配置修改直接使用。 $ bin/rake db:create ;用来建立空的资料库 ===curd程式=== Rails的scaffold 能产生一组MVC,做展示和学习之用。 $ bin/rails g scaffold person name:string bio:text birthday:date 实际多用scaffold产生的MV,自己写出C来使用。 database migration 资料库移动,Rails使用rake指令來執行Migrations。 Migration的檔名中包含了Timestamp(時間戳章),用來確保它們可以依照建立時間依序執行。
相关文章推荐
- Rails startup
- Rails migration
- Rails Kinds
- 两种智能指针-RAII智能指针和引用计数智能指针
- AVL树笔记(二):maintain,delete
- (转)RabbitMQ消息队列(一): Detailed Introduction 详细介绍
- Once you eliminate all the other factors,the only thing remaining must be the truth.
- fail-fast机制
- Kafka设计解析(二)- Kafka High Availability (上)
- 关于int main(int argc,char*argv[])的玩意
- hdu 2389 Rain on your Parade 二分图匹配+HK算法
- Adb failed to restart! Make sure the plugin is properly configured.
- 关于container_of和list_for_each_entry 及其相关函数的分析
- OC中retain和assign的setter方法的写法和区别
- 【MFC】关于AfxGetMainWnd导致VS2010运行结果崩溃的解法
- Daily Scrum - 11/17
- http://blog.csdn.net/lifeitengup/article/details/8666182
- HDU---1151-Air Raid(二分图)(HDU-1150)(POJ-3041)
- POJ 1422 Air Raid 最小覆盖点
- pthread_cond_wait