Ruby On Rails 笔记1——Rails 入门

突然想跟着官方文档把Ruby On Rails过一遍,把一些有用的记下来就可以一直看了,do它! https://guides.rubyonrails.org/v7.2/

注:官网是英文文档,我自己翻译了一下,不确保完全准确,只供自己学习开发使用。

Rails is a web application framework running on the Ruby programming language. There are several curated lists of online resources for learning Ruby:

1.Rails 是什么?

Rails是一个由Ruby编程语言编写的Web应用开发框架。它是为了让编写Web应用更简单而设计

2. Say "Hello", Rails

在完成安装启动后,想开始写代码了,you need to create at minimum a route, a controller with an action, and a view. A route将请求映射到controller action; A controller action里有处理请求的工作,以及给View准备的数据。A view根据需要的格式显示数据。

Step1 在routes文件里添加一个route

ruby 复制代码
Rails.application.routes.draw do
  get "/articles", to: "articles#index"

  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end

这个route声明将GET /articles请求映射到ArticlesController 的index action.

Step2 通过下面这个命令生成ArticlesController和index

ruby 复制代码
bin/rails generate controller Articles index --skip-routes

生成的文件长这样app/controllers/articles_controller.rb

ruby 复制代码
class ArticlesController < ApplicationController
  def index
  end
end

默认情况下,Rails会自动render与controller 和 action名字相同的view,即app/views/articles/index.html.erb

Step3 在index.html.erb文件里写上

ruby 复制代码
<h1>Hello, Rails!</h1>

接下来启动server访问http://localhost:3000/articles就可以了。

也可以通过添加route

ruby 复制代码
root "articles#index"

将其设置成home page, 即访问http://localhost:3000就能打开index.html.erb文件.

3. 生成一个Model

上述提到routes, controllers, actions, and views,这些都是遵循MVC (Model-View-Controller)模式的Web应用典型组成部分。我们已经拥有了Controller和View,继续生成一个Model吧。

A model is a Ruby class that is used to represent data. Additionally, models can interact with the application's database through a feature of Rails called Active Record.

英文原文太好了,不翻译了。可以跟官网一样用model generator也可以自己创建app/models/article.rb。

可以根据数据库里需要存的字段定义这个model

至此最基本的概念和架构已经清楚了。

相关推荐
许长安7 小时前
RPC 同步调用基本使用方法:基于官方 RouteGuide 示例
c++·经验分享·笔记·rpc
做cv的小昊11 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
我命由我1234512 小时前
程序员的心理学学习笔记 - 空杯心态
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
晓梦林12 小时前
3170靶场学习笔记
笔记·学习
ZC跨境爬虫12 小时前
跟着 MDN 学 HTML day_17:媒体与 Web Audio API 自动播放指南——策略、检测与最佳实践
前端·笔记·ui·html·音视频·媒体
ErizJ12 小时前
Redis|学习笔记
redis·笔记·学习
Amazing_Cacao13 小时前
CFCA精品可可饮品认证课程高级压力测试:在极端液态变量中,捍卫精品巧克力品质的稳定复现法则
笔记
xian_wwq14 小时前
【学习笔记】变电保护、测控、安自、自动化系统概述
笔记·学习·保护
泰勒朗斯14 小时前
rootflight学习笔记
笔记·学习
是上好佳佳佳呀16 小时前
【前端(十三)】JavaScript 数组与字符串笔记
前端·javascript·笔记