亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby on Rails所構建的應用程序基本目錄結構總結

2020-10-29 19:35:27
字體:
來源:轉載
供稿:網友

當使用rails new appname生成Rails應用后,我們可以通過tree來查看Rails應用的目錄結構:

目錄結構

應用程序目錄下會有app、config、db、doc、lib、log、public、script、test、tmp和vendor等11個目錄和config.ru、Gemfile、Gemfile.lock、Rakefile、README.rdoc等5個文件。

目錄在稍后會一一解釋,先看一下app目錄下的文件:

config.ru 用來啟動Rails程序的Rack設置文件

require ::File.expand_path('../config/environment', __FILE__)run Myapps::Application

Gemfile設置Rails程序所依賴的Gems (一旦用bundle install安裝后,會生成Gemfile.lock)

source 'https://ruby.taobao.org/'gem 'rails', '3.2.1'gem 'sqlite3'# Gems used only for assets and not required# in production environments by default.group :assets do gem 'sass-rails',  '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'uglifier', '>= 1.0.3'endgem 'jquery-rails'gem ... ...

Rakefile 用來載入可以被終端執行的Rake任務
<!--more-->

下面是用tree命令查看,所顯示的目錄和文件結構:

.├── app│  ├── assets│  │  ├── images│  │  │  └── rails.png│  │  ├── javascripts│  │  │  └── application.js│  │  └── stylesheets│  │    └── application.css│  ├── controllers│  │  └── application_controller.rb│  ├── helpers│  │  └── application_helper.rb│  ├── mailers│  ├── models│  └── views│    └── layouts│      └── application.html.erb├── config│  ├── application.rb│  ├── boot.rb│  ├── database.yml│  ├── environment.rb│  ├── environments│  │  ├── development.rb│  │  ├── production.rb│  │  └── test.rb│  ├── initializers│  │  ├── backtrace_silencers.rb│  │  ├── inflections.rb│  │  ├── mime_types.rb│  │  ├── secret_token.rb│  │  ├── session_store.rb│  │  └── wrap_parameters.rb│  ├── locales│  │  └── en.yml│  └── routes.rb├── config.ru├── db│  └── seeds.rb├── doc│  └── README_FOR_APP├── Gemfile├── lib│  ├── assets│  └── tasks├── log├── public│  ├── 404.html│  ├── 422.html│  ├── 500.html│  ├── favicon.ico│  ├── index.html│  └── robots.txt├── Rakefile├── README.rdoc├── script│  └── rails├── test│  ├── fixtures│  ├── functional│  ├── integration│  ├── performance│  │  └── browsing_test.rb│  ├── test_helper.rb│  └── unit├── tmp│  └── cache│    └── assets└── vendor  ├── assets  │  ├── javascripts  │  └── stylesheets  └── plugins

應用目錄(app/)

app目錄是Rails程序的主目錄,不同子目錄分別存放了模型 Models (M)、控制器 Controllersw (C)、視圖 Views (V)及Mailers、Helpers和Assests等文檔。

模型-控制器-視圖

分別存放模型、控制器和視圖。其中,模型統一存放在app/models目錄下,控制器統一存放在app/controllers目錄下(可以使用目錄進一步組織控制器,例如cpanel目錄下用于存放管理后臺相關的控制器),視圖存放在app/views目錄下,視圖模型存放在app/view/layouts目錄下,默認為applicaiton.html.erb。

Assets靜態文件

Assets靜態文件存放在app/assets目錄下,分別為app/assets/images、app/assets/stylesheets、app/assets/javascripts目錄。

Helper

Helper是一些在視圖中可以使用的小方法,用來產生較復雜的HTML。預設的Helper文件名稱對應控制器,但不強制要求,在任意一個Helper文件中定義的方法,都可以在任何視圖中使用。

配置文件目錄(config/)

雖然Rails遵循“約定優于配置”的原則,但仍有一些需要設定的地方。在配置文件目錄下,會存放應用程序設置文件application.rb、數據庫設置文件database.yml、路由設置文件routes.rb、多重環境設置config/environments目錄、其它初始設置文件config/initializers。

Rails啟動應用程序設置

啟動Rails程序(例如rails console或rails server),會執行以下三個文檔

boot.rb 載入Bundler環境,這個文件由Rails自動產生,不需要修改;

require 'rubygems'# Set up gems listed in the Gemfile.ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])

application.rb 載入Rails gems和依賴的其它gems,接著設定Rails程序;
require File.expand_path('../boot', __FILE__)

require 'rails/all'if defined?(Bundler) # If you precompile assets before deploying to production, use this line Bundler.require(*Rails.groups(:assets => %w(development test))) # If you want your assets lazily compiled in production, use this line # Bundler.require(:default, :assets, Rails.env)endmodule Myapps class Application < Rails::Application  # Settings in config/environments/* take precedence over those specified here.  # Application configuration should go into files in config/initializers  # ... ...  # Configure the default encoding used in templates for Ruby 1.9.  config.encoding = "utf-8"  # Configure sensitive parameters which will be filtered from the log file.  config.filter_parameters += [:password]  # ... ...  # Enable the asset pipeline  config.assets.enabled = true  # Version of your assets, change this if you want to expire all your assets  config.assets.version = '1.0' endendenvironment.rb 執行所有啟動程序(initializers),這個文件同樣由Rails產生,不需要修改。# Load the rails applicationrequire File.expand_path('../application', __FILE__)# Initialize the rails applicationMyapps::Application.initialize!

初始設置文件(initializers)
由environment.rb調用,系統默認的初始設置文件有backtrace_silencers.rb、inflections.rb、mime_types.rb、secret_token.rb、session_store.rb和wrap_parameters.rb等6個,分別對應的用途是:選擇性移動異常追蹤、單復數轉換、mime_types、加密cookies信息的token、默認session儲存以及參數封裝等。

###數據庫存儲目錄(db/)

###程序幫助文檔(doc/)

###共享類或模塊文件(lib/)

一些共享的類或模塊可以存放在該目錄。另外,Rake的任務,可存放在lib/tasks目錄下。

###日志目錄(log/)

###公共文件目錄(public/)

對于web服務器來說,可以直接訪問的文件目錄。可以用于存放通用的images、stylesheets和javascripts (Rails 2.x)。

###Rails腳本文件(script/)

###測試文件目錄(test/)

用于存放單元測試、功能測試及整合測試文件。

###臨時文件目錄(tmp/)

###第三方插件目錄(vendor/)

在使用bundler安裝gems插件時,也可以選擇安裝在該目錄下。例如bundle install --path vendor/bundle。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久中文字幕2018| 亚洲精品网址在线观看| 国产综合香蕉五月婷在线| 日韩美女在线看| 91深夜福利视频| 九九热这里只有在线精品视| 国产精品一区二区av影院萌芽| 日韩欧美国产中文字幕| 精品久久久国产精品999| 亚洲日本中文字幕免费在线不卡| 欧美与欧洲交xxxx免费观看| 亚洲在线免费视频| 国产ts人妖一区二区三区| 久久精彩免费视频| 韩国国内大量揄拍精品视频| 在线观看欧美视频| 黑人精品xxx一区| 日韩麻豆第一页| 久久99精品久久久久久琪琪| 久久97久久97精品免视看| 欧美激情一区二区三区高清视频| 亚洲国产91精品在线观看| 久久久中精品2020中文| 国产亚洲欧美日韩精品| 欧美极品少妇xxxxⅹ裸体艺术| 91视频88av| 亚洲欧美日韩中文在线| 国产成人激情小视频| 色妞久久福利网| 亚洲男子天堂网| 波霸ol色综合久久| 日韩av电影中文字幕| 亚洲图片在区色| 国产成人精品av在线| 国产精品一区专区欧美日韩| 国产成人小视频在线观看| 国产精品日韩专区| 日本久久中文字幕| 国产视频丨精品|在线观看| 久久影院中文字幕| 欧美另类极品videosbest最新版本| 91精品国产乱码久久久久久久久| 欧美整片在线观看| 91精品国产沙发| 精品国产一区二区三区久久久| 另类天堂视频在线观看| 国模视频一区二区三区| 欧美精品在线看| 欧美性生交xxxxx久久久| 精品日本高清在线播放| 亚洲精品av在线播放| 亚洲一区二区三区久久| 欧美日韩亚洲一区二| 成年人精品视频| 国产日韩在线免费| 欧美色图在线视频| 日韩电影在线观看免费| 亚洲欧美日韩一区二区在线| 国产精品免费网站| 亚洲一区亚洲二区亚洲三区| 中日韩美女免费视频网址在线观看| 91av在线视频观看| 精品毛片网大全| 成人a级免费视频| 国产精品香蕉国产| 亚洲国产欧美在线成人app| 在线观看欧美www| 欧美性猛交xxxx| 亚洲欧美日韩一区在线| 国产精品美乳在线观看| 懂色av中文一区二区三区天美| 亚洲日韩欧美视频| 日韩av日韩在线观看| 欧美中文字幕在线| 久久亚洲影音av资源网| 色噜噜狠狠色综合网图区| 91国产美女在线观看| 影音先锋日韩有码| 国产丝袜精品第一页| 精品夜色国产国偷在线| 最近中文字幕mv在线一区二区三区四区| 色yeye香蕉凹凸一区二区av| 欧美精品在线观看91| 久久久精品在线| 亚洲精品美女网站| 午夜精品99久久免费| 国产精品久久久久免费a∨| 国内精品久久久久久久久| 欧美最猛性xxxxx(亚洲精品)| 国产精品自产拍在线观看中文| 97视频免费观看| 成人欧美在线视频| 色噜噜狠狠狠综合曰曰曰88av| 欧美日韩另类视频| 欧美激情精品久久久久久大尺度| 日韩美女中文字幕| 欧美日本中文字幕| 亚洲成人久久久久| 精品视频在线播放色网色视频| xxxxx成人.com| 亚洲精品一区二区三区不| 成人精品视频在线| 97超碰蝌蚪网人人做人人爽| 成人a在线视频| 中文字幕亚洲综合| 欧美视频在线观看免费| 精品久久久香蕉免费精品视频| 中文字幕亚洲二区| 啪一啪鲁一鲁2019在线视频| 久久久久成人网| 欧美精品免费在线观看| 欧美成人激情图片网| 不卡av在线播放| 国产成人激情视频| 日本中文字幕久久看| 精品久久久香蕉免费精品视频| 日日摸夜夜添一区| 久久在线免费视频| 一区二区三区久久精品| 亚洲天堂男人天堂女人天堂| 亚洲精品视频播放| 色久欧美在线视频观看| 国产大片精品免费永久看nba| 国产aⅴ夜夜欢一区二区三区| 富二代精品短视频| 久久青草精品视频免费观看| 国产精品美女久久久久久免费| 色黄久久久久久| 2019精品视频| 午夜精品国产精品大乳美女| 亚洲人成在线一二| 欧美一级大片在线观看| 欧美孕妇性xx| 成人亚洲激情网| 亚洲自拍另类欧美丝袜| 国产一区深夜福利| 秋霞av国产精品一区| 久久久亚洲精品视频| 亚洲免费视频在线观看| 色偷偷噜噜噜亚洲男人| 亚洲国产精品va在看黑人| 日韩精品极品视频免费观看| 欧美xxxx14xxxxx性爽| 午夜欧美大片免费观看| 美女视频黄免费的亚洲男人天堂| 俺去亚洲欧洲欧美日韩| 成人免费高清完整版在线观看| 欧美怡春院一区二区三区| 亚洲男人天堂网站| 日韩网站免费观看高清| 亚洲精品国产免费| 亚洲图片在线综合| 成人黄色免费网站在线观看| 欧美激情精品久久久| 成人一区二区电影| 俺去亚洲欧洲欧美日韩| 欧美激情精品久久久久久免费印度| 日韩美女中文字幕| 国产精品对白刺激| 色噜噜国产精品视频一区二区| 性欧美xxxx| 成人网在线视频| 在线观看欧美日韩| 欧美精品做受xxx性少妇|