日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

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數據庫

此時我們如果直接建表的話,會報關于編碼的毛病: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右上角給項目點顆星吧~

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲精品一区二区在线观看 | 999国产视频| 免费av一区二区三区 | 综合五月婷 | 日本精品视频在线 | 久艹av| 日本一区二区三区免费观看 | 亚洲自拍偷拍视频 | 精品一区二区三区免费 | 九九导航| 伊人亚洲 | 99精品一区二区 | 日韩国产欧美一区二区三区 | 一区二区三区在线观看视频 | 国产精品成人自拍 | 久久久久国产精品人 | 精品一区二区三区久久久 | 日韩电影网址 | 国产美女黄色 | 亚洲精品三级 | 免费av高清 | 精品久久久久久久久久久久久久久 | 久草成人在线 | 人妖欧美一区二区三区 | 精品国产免费久久久久久尖叫 | 欧美三区四区 | 亚洲精品乱码久久久久久按摩观 | 精品91在线 | 国产高清一区二区 | 国产精品久久久久9999鸭 | 精品国产久 | 成人一区二区三区免费视频 | 国产伦精品一区二区三 | 中文字幕在线观看日本 | 二区影院 | 亚洲综合久久久 | 另类在线| 免费的黄网 | 九九久久精品 | 成人免费视频国产 | 天天av天天好逼 |