[Ruby on Rails系列]三、初試Rails:使用Rails開發第一個Web程序

本系列前兩部分已經介紹瞭如何配置Ruby on Rails開發環境,如今終於進入正題啦!web

Part1.開發前的準備


本次的主要任務是開發第一個Rails程序。須要特別指出的是,本次我選用了一個(PaaS開發平臺),也就是Rails教程中介紹的Cloud 9平臺,該平臺已經自動爲咱們做好了環境配置的工做;只要你有一個瀏覽器就可使用該雲端開發環境。很是的方便快捷!簡直贊!平臺網址以下:https://c9.io/

Cloud 9開發平臺的實質是爲每個註冊的開發者在服務器端分配一個Linux虛擬機,所以在Cloud 9上進行開發就好像是在虛擬機上開發同樣。在Cloud 9的終端輸入命令實際上和在Linux上輸入命令如出一轍。所以,本文也一樣適用於本地開發。spring

Cloud 9使用方法:數據庫

(1)註冊一個免費帳戶並登陸瀏覽器

(2)點擊「Go to your Dashboard」ruby

(3)點擊「Create New Workspace」服務器

(4)選擇工做空間類型並命名,如圖:app

(5)點擊「Create」框架

(6)點擊「Start Editing」,進入虛擬機。工具

(7)進入開發環境之後能夠根據本身的開發習慣對開發環境進行設置(本身探索~)學習

(8)安裝Rails。Cloud 9開發環境包含了全部咱們須要的工具,可是沒有安裝Rails自己,打開終端輸入以下代碼安裝Rails。

 

$ gem install rails 

 

至此,開發環境準備完畢,在終端輸入rails --version能夠檢查Rails版本驗證是否安裝成功。 

 

Part2.第一個應用程序 


開發環境配置完畢後,就能夠開發第一個應用程序啦。

(1)建立工程,在終端輸入:rails new (project name)

rails new firstDemo

等待幾秒鐘後,若是建立成功會顯示以下代碼:

Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
         run  bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted

 此時,Rails會自動建立文件結構,並按照MVC模型初始化模版。建立好以後的文件結構以下:

注:若是你沒有建立成功,請不要着急,那多是有些依賴文件虛擬機沒有默認按照,這時你須要根據失敗時的提示信息,安裝相應的依賴包。安裝完成後從新構建便可。

(2)修改Gemfile文件,並從新構建

如圖,打開Gemfile,去掉#gem 'therubyracer', platforms: :ruby該行註釋(去掉#便可),以保證咱們的工程支持JavaScript。若是不取消此行註釋,以後的構建會報錯:缺乏JavaScript平臺。

取消註釋完成後,在終端輸入如下代碼,從新構建:(先切換到項目文件夾,再構建)

cd firstDemo
bundle install

(3)使用Rails提供的自動化框架Scaffold指令

在終端輸入以下指令:

rails g scaffold memo content:text

此時,Rails會創建一個memo的表,該Table具備一個Text類型的字段content。同時Rails還爲咱們構建好了相關的表現層,控制層,數據層代碼。具體語法細節,我會在以後學習,如今沒必要在乎。

咱們能夠打開app/views/memos文件夾查看生成的具體代碼,如圖。

(4)創建數據庫

在終端輸入以下指令創建數據庫:

rake db:migrate

SqlLite3會根據數據模型自動建立好數據庫。

(5)開啓服務器,運行Web程序

注意:採用Cloud 9建立的程序與本機建立的項目在此步會有所不一樣。

若是採用本地服務器。在終端輸入:

rails server

而後打開瀏覽器,輸入:http://127.0.0.1:3000/memos,測試是否運行成功。

若是採用Cloud 9,須要在終端輸入:

rails server -b $IP -p $PORT

而後根據Cloud 9提示,打開相應頁面便可。如圖:

(6)查看結果

須要注意的是,直接點擊上述鏈接進入的不是咱們生成的頁面,請在生成的連接後加上/memos(緣由請仔細研究config文件夾下的route.rb)

運行結果以下圖:

至此,咱們的第一個基於Rails的Web程序就完成啦。徹底沒有寫代碼呢!Rails框架的開發效率徹底體現了出來。

 

後記

因爲是第一個Rails程序,咱們並不須要深究Ruby on Rails的語法細節,咱們使用了Rails提供的生成工具Scaffold快速生成了含有數據庫的應用程序,這的確比其餘開發框架要快不少,我學了2個月JSP纔會寫基於數據庫的web程序。。。

採用自動生成框架忽略了許多細節,在以後的學習中,我會深刻研究Rails框架的語法和設計,而不是像如今這樣迅速的生成一個應用程序。

在下一篇文章,我將探討一個特殊的問題:Rails應用的國際化,敬請期待。

[Ruby on Rails系列]四、專題:Rails應用的國際化[I18n]

相關文章
相關標籤/搜索