多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Rails Web應用開發實戰-學生選課系統基礎版(一)

Rails Web應用開發實戰-學生選課系統基礎版(一)

來源:程序員人生   發布時間:2016-10-31 11:03:59 閱讀次數:3187次

Rails Web利用開發實戰-學生選課系統基礎版(1)

本教程基于中國科學院大學研究生課程(高級軟件工程)。此教程做出的基礎版Demo,代碼位于Github。 教程合適新入門的Ruby on Rails開發者,入門者可以在基礎版上增加新的功能:

  • 處理選課沖突、控制選課人數
  • 統計學分,學位課等
  • 增加選課的開放、關閉功能
  • 自定義管理員后臺
  • 基于OAuth的授權登陸
  • Excel格式的數據導入
  • 綁定用戶郵箱(實現注冊激活,忘記密碼等)
  • 站內查找檢索 (課程按分類查找,過濾等)

1.安裝環境

Rails在眾多Web開發語言中還是屬于門坎比較高的,由于其本地的環境搭建比較麻煩,特別在是windows系統下。而在Mac OS、Linux等系統中卻得到較好的支持。所以此教程基于Linux或Mac系統。

本地

  • Ubantu 14.04
    通過rbenv安裝-教程,
    通過RVM安裝-教程
  • Mac OS
    與Ubantu類似-教程

云IDE(集成開發環境)

除本地搭建環境,還可以選擇例如Cloud9類似的云IDE,使用這些云IDE可以避免除在本地搭建環境的煩惱,只要能上網電腦,都能通過網頁訪問云IDE,在線編輯代碼并運行。

但是在云端編輯代碼的IDE1般沒有本地下載的IDE強,比如Jetbeans公司的產品RubyMine神器,就是目前Ruby最智能的IDE,能與Java語言的Eclipse、Netbeans相媲美。Jetbeans公司除Ruby語言的IDE,還有Python語言的PyCharm和PHP語言的PHPStorm等,都是極好的集成開發環境,支持斷點調試Debug,自動代碼糾錯、排版等功能。惋惜軟件收費,但是學生和老師通過學校的郵箱申請還是可以取得1年的免費使用。

2.運行實例

1.下面以Cloud9開發為例子,首先注冊然后登陸,會看到以下界面:

登錄界面

2.點擊創建新的工作空間,跳轉以下界面:

編輯界面

注意:在Clone from Git的網址那里的url請填寫fork后的分支url,例如https://github.com/你的github賬號名字/CourseSelect。填好項目名字,然后將項目語言選為Ruby就能夠點擊創建了。

3.進入IDE編輯頁面:

IDE編輯界面

左側為項目的目錄,右上為文件的編輯窗口,右下為終端(輸入命令行的地方)。

4.在終端中輸入bundle install,安裝項目需要的外部庫(Rails中把這些庫稱為Gems),看到以下的結果表示所有依賴的庫都安裝終了:

pengzhaoqing:~/workspace (master) $ bundle install Fetching gem metadata from https://gems.ruby-china.org/........... Fetching version metadata from https://gems.ruby-china.org/.. Using rake 11.2.2 Using i18n 0.7.0 Using json 1.8.3 Using minitest 5.9.0 Using thread_safe 0.3.5 Using builder 3.2.2 Using erubis 2.7.0 Using mini_portile2 2.1.0 Using pkg-config 1.1.7 Using rack 1.6.4 Using mime-types-data 3.2016.0521 Using arel 6.0.3 Using execjs 2.7.0 Installing bcrypt 3.1.11 with native extensions Using debug_inspector 0.0.2 Using sass 3.4.22 Using byebug 9.0.5 Using coffee-script-source 1.10.0 Using thor 0.19.1 Using concurrent-ruby 1.0.2 Using tilt 2.0.5 Using multi_json 1.12.1 Installing nested_form 0.3.2 Installing pg 0.18.4 with native extensions Using bundler 1.12.5 Installing rails_serve_static_assets 0.0.5 Installing rails_stdout_logging 0.0.5 Installing remotipart 1.2.1 Installing safe_yaml 1.0.4 Using spring 1.7.2 Using turbolinks-source 5.0.0 Installing faker 1.6.3 Using rdoc 4.2.2 Using tzinfo 1.2.2 Using nokogiri 1.6.8 Using rack-test 0.6.3 Using mime-types 3.1 Installing autoprefixer-rails 6.4.0.2 Installing uglifier 3.0.1 Using binding_of_caller 0.7.2 Using coffee-script 2.4.1 Using sprockets 3.7.0 Installing haml 4.0.7 Installing rails_12factor 0.0.3 Using turbolinks 5.0.1 Using sdoc 0.4.1 Installing activesupport 4.2.5.2 Using loofah 2.0.3 Installing rack-pjax 0.8.0 Using mail 2.6.4 Installing bootstrap-sass 3.3.7 Using rails-deprecated_sanitizer 1.0.3 Using globalid 0.3.7 Installing activemodel 4.2.5.2 Using jbuilder 2.6.0 Using rails-html-sanitizer 1.0.3 Using rails-dom-testing 1.0.7 Installing activejob 4.2.5.2 Installing activerecord 4.2.5.2 Installing actionview 4.2.5.2 Installing actionpack 4.2.5.2 Installing actionmailer 4.2.5.2 Installing railties 4.2.5.2 Installing kaminari 0.16.3 Using sprockets-rails 3.1.1 Using coffee-rails 4.1.1 Installing font-awesome-rails 4.5.0.1 Installing jquery-rails 4.1.1 Installing jquery-ui-rails 5.0.5 Installing rails 4.2.5.2 Using sass-rails 5.0.6 Using web-console 2.3.0 Installing rails_admin 0.8.1 Bundle complete! 17 Gemfile dependencies, 73 gems now installed. Use `bundle show [gemname]` to see where a bundled gem is installed. Post-install message from haml: HEADS UP! Haml 4.0 has many improvements, but also has changes that may break your application: * Support for Ruby 1.8.6 dropped * Support for Rails 2 dropped * Sass filter now always outputs <style> tags * Data attributes are now hyphenated, not underscored * html2haml utility moved to the html2haml gem * Textile and Maruku filters moved to the haml-contrib gem For more info see: http://rubydoc.info/github/haml/haml/file/CHANGELOG.md

5.本來Rails默許支持的是內置的Sqlite3數據庫,無需安裝,但是這個項目為了后期與Heroku更好接軌,使用的是postgresql這個數據庫。榮幸的是,Cloud9為我們預裝好了Postgresql數據庫,我們只需要在終端中輸入sudo service postgresql start,就可以啟動postgresql數據庫。

此時我們如果直接建表的話,會報關于編碼的毛?。?code>PG::Error: ERROR: new encoding (UTF8) is incompatible,根據這里,我們在終端中逐行運行下面代碼來解決上面的問題:

//進入postgresql數據庫 pengzhaoqing:~/workspace (master) $ psql psql (9.3.14) Type "help" for help. ubuntu=# UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1'; UPDATE 1 ubuntu=# DROP DATABASE template1; DROP DATABASE ubuntu=# CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE'; CREATE DATABASE ubuntu=# UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1'; UPDATE 1 ubuntu=# \c template1 You are now connected to database "template1" as user "ubuntu". template1=# VACUUM FREEZE; VACUUM template1-# \q

6.準備好數據庫后,我們用以下指令建立表:

pengzhaoqing:~/workspace (master) $ rake db:create:all

然后運行數據遷移:

pengzhaoqing:~/workspace (master) $ rake db:migrate == 20160818081955 CreateUsers: migrating ====================================== -- create_table(:users) -> 0.0328s -- add_index(:users, :email, {:unique=>true}) -> 0.0081s == 20160818081955 CreateUsers: migrated (0.0412s) ============================= == 20160907152104 CreateCourses: migrating ==================================== -- create_table(:courses) -> 0.0117s == 20160907152104 CreateCourses: migrated (0.0118s) =========================== == 20160909105514 CreateGrades: migrating ===================================== -- create_table(:grades) -> 0.0192s == 20160909105514 CreateGrades: migrated (0.0194s) ============================

最后寫入種子數據:

pengzhaoqing:~/workspace (master) $ rake db:seed

7.點擊IDE上面的Run Project按鈕,在log里會顯示網站的地址,點擊這個網址就可以進入項目的演示頁面:

運行項目

演示頁面

結束語

到這里,這個項目就算是跑通了,關于項目更多詳細請看這里,下面將會分解這個項目,從零開始寫起。

覺得項目好的話,在Github右上角給項目點顆星吧~

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: www.黄色免费 | 最近手机中文字幕1 | 久久a级片 | 99久久精品国产一区二区三区 | 不卡精品国产_亚洲人成在线 | 91精品一区二区三区在线播放 | 最新中文字幕乱码在线 | 亚洲a成人 | 欧美成人精品福利网站 | 国产视频一区二 | 欧美第一色 | 亚洲高清在线看 | 欧美精品xxxxbbbb | 欧美一级性生活视频 | 亚洲第一黄色网 | www.97影院| 亚洲视频自拍偷拍 | 精品久久久视频 | 亚洲成av人片在线观看 | 亚洲小视频网站 | 国产免费私拍一区二区三区 | 福利视频一区 | 全部无卡免费的毛片在线看 | 欧美色成人 | 亚洲一区二区三区欧美 | 在线视频国产一区 | 手机看福利片 | 精品国产一区二区三区久 | 校园 图片区 视频 小说专区 | 九九精品视频一区二区三区 | 亚洲最大在线 | 日本免费精品 | 日本一区二区三区四区无限 | 理论亚洲区美一区二区三区 | 成人午夜精品久久久久久久小说 | 最新自拍偷拍 | 边吃奶边添下面就爽 | 波多野结衣视频免费在线观看 | 91精品国产综合久久欧美 | 国产一区二区精品久久 | 国产亚洲福利精品一区二区 |