一、概述
虽然之前尝试了很多次Rails的搭建,但是由于没有做到系统的一些组织以及学习,因而效果不是很好。正好现在有一些不得不去努力做好这件事的理由,因而再次来尝试学习Rails并立志于构建一个Rails应用。
二、过程
关于Rails的入门过程,记录如下。
Microsoft Windows [版本 10.0.19042.1466]
(c) Microsoft Corporation。保留所有权利。
F:\create_working\RoR_project\operate\blog>rails generate model Article title:string body:text
invoke active_record
create db/migrate/20220119113510_create_articles.rb
create app/models/article.rb
invoke test_unit
create test/models/article_test.rb
create test/fixtures/articles.yml
F:\create_working\RoR_project\operate\blog>rails db:migrate
== 20220119113510 CreateArticles: migrating ===================================
-- create_table(:articles)
-> 0.0033s
== 20220119113510 CreateArticles: migrated (0.0042s) ==========================
F:\create_working\RoR_project\operate\blog>rails console
Loading development environment (Rails 7.0.1)
irb(main):001:0> article = Article.new(title: "Hello, Rails", body: "I am on Rails!")
(1.1ms) SELECT sqlite_version(*)
=>
#<Article:0x0000022e832aa540
...
irb(main):002:0> article.save
TRANSACTION (0.1ms) begin transaction
Article Create (1.2ms) INSERT INTO "articles" ("title", "body", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["title", "Hello, Rails"], ["body", "I am on Rails!"], ["created_at", "2022-01-19 11:38:16.821916"], ["updated_at", "2022-01-19 11:38:16.821916"]]
TRANSACTION (3.5ms) commit transaction
=> true
irb(main):003:0> article
=>
#<Article:0x0000022e832aa540
id: 1,
title: "Hello, Rails",
body: "I am on Rails!",
created_at: Wed, 19 Jan 2022 11:38:16.821916000 UTC +00:00,
updated_at: Wed, 19 Jan 2022 11:38:16.821916000 UTC +00:00>
irb(main):004:0> Article.find(1)
Article Load (0.2ms) SELECT "articles".* FROM "articles" WHERE "articles"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
=>
#<Article:0x0000022e85695f40
id: 1,
title: "Hello, Rails",
body: "I am on Rails!",
created_at: Wed, 19 Jan 2022 11:38:16.821916000 UTC +00:00,
updated_at: Wed, 19 Jan 2022 11:38:16.821916000 UTC +00:00>
irb(main):005:0> Article.find(all)
(irb):5:in `<main>': undefined local variable or method `all' for main:Object (NameError)
irb(main):006:0> Article.all
Article Load (0.2ms) SELECT "articles".* FROM "articles"
=>
[#<Article:0x0000022e84e00ad8
id: 1,
title: "Hello, Rails",
body: "I am on Rails!",
created_at: Wed, 19 Jan 2022 11:38:16.821916000 UTC +00:00,
updated_at: Wed, 19 Jan 2022 11:38:16.821916000 UTC +00:00>]
irb(main):007:0> exit;
这是在cmd中进行操作的情况,由于在其中更改文件内容即编辑文本信息不是很方便,需要打开外在的编辑器如Notepad++。
而如果使用外在的编辑器的话,由于编辑器本身带有撤销等功能会创建多余的文件,所以会造成文件无法及时更新,导致自己所观察到的并非是即时加载的内容。
因此改用git bash。
三、参考文献
关于参考的资料文档以及一些官方的资源,整理如下: