开源项目 affe
使用教程
1. 项目的目录结构及介绍
affe/
├── README.md
├── app/
│ ├── controllers/
│ ├── models/
│ ├── views/
│ └── main.rb
├── config/
│ ├── database.yml
│ ├── environment.rb
│ └── routes.rb
├── public/
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/
└── spec/
├── controllers/
├── models/
└── views/
- README.md: 项目说明文件,包含项目的基本信息和使用指南。
- app/: 应用程序的核心目录,包含控制器、模型和视图。
- controllers/: 存放控制器文件,处理用户请求。
- models/: 存放模型文件,处理数据逻辑。
- views/: 存放视图文件,负责展示数据。
- main.rb: 项目的启动文件。
- config/: 配置文件目录,包含数据库配置、环境配置和路由配置。
- database.yml: 数据库配置文件。
- environment.rb: 环境配置文件。
- routes.rb: 路由配置文件。
- public/: 静态文件目录,包含图片、JavaScript 和样式表。
- images/: 存放图片文件。
- javascripts/: 存放 JavaScript 文件。
- stylesheets/: 存放样式表文件。
- spec/: 测试文件目录,包含控制器、模型和视图的测试文件。
- controllers/: 存放控制器测试文件。
- models/: 存放模型测试文件。
- views/: 存放视图测试文件。
2. 项目的启动文件介绍
项目的启动文件是 app/main.rb
。该文件负责初始化应用程序并启动服务器。以下是 main.rb
的基本内容:
require 'sinatra'
require_relative 'controllers/application_controller'
run ApplicationController
- require 'sinatra': 引入 Sinatra 框架。
- require_relative 'controllers/application_controller': 引入应用程序的主控制器。
- run ApplicationController: 运行应用程序的主控制器。
3. 项目的配置文件介绍
config/database.yml
该文件用于配置数据库连接信息。以下是一个示例配置:
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: affe_development
username: your_username
password: your_password
test:
<<: *default
database: affe_test
username: your_username
password: your_password
production:
<<: *default
database: affe_production
username: your_username
password: your_password
- default: 默认配置,包含适配器、编码和连接池设置。
- development: 开发环境的数据库配置。
- test: 测试环境的数据库配置。
- production: 生产环境的数据库配置。
config/environment.rb
该文件用于配置应用程序的环境变量和依赖项。以下是一个示例配置:
require 'bundler/setup'
Bundler.require(:default, ENV['RACK_ENV'])
Dotenv.load
require_relative '../app/controllers/application_controller'
require_relative '../app/models/user'
- require 'bundler/setup': 引入 Bundler 并设置依赖项。
- Bundler.require(:default, ENV['RACK_ENV']): 根据环境加载依赖项。
- Dotenv.load: 加载环境变量文件。
- require_relative '../app/controllers/application_controller': 引入应用程序的主控制器。
- require_relative '../app/models/user': 引入用户模型。
config/routes.rb
该文件用于配置应用程序的路由。以下是一个示例配置:
class ApplicationController < Sinatra::Base
get '/' do
'Hello, World!'
end
get '/users' do
@users =