rails 初创建项目加部分解析

本文详细介绍了如何在Ruby on Rails环境下创建项目,关注MVC结构中的关键部分,如controllers、views和models。通过railsgenerate命令创建controller和model,配置路由,启动服务器并进行交互。在数据库层面,展示了如何生成模型模板,进行数据库迁移,并在控制台与数据库进行交互。此外,还讲解了如何显示文章列表,实现路由跳转以及在视图中展示数据。整个过程覆盖了从初始化项目到数据操作的多个步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安装完rbenv,ruby,rails的情况下我们开始创建一个项目并且开始解析里面的命令

第一步:创建 rails new TestDemo
在这里插入图片描述


第二步:既然是MVC,重点关注
1.app/controllers/
2.app/views/
3.app/model/
4.config/routes.rb
需要熟悉几个文件的位置,需要不停的来回调试


第三步
1.cd TestDemo 【进入文件夹】
2.输入rail server(或者rail s)------【http://localhost:3000】
----在服务器上的话输入
----rail s -b 0.0.0.0---------【主机地址+3000端口,-b是绑定ip的意思】
3.可以登录相应的地址去看看是否有显示
4.接下来创建controller,view 命令:
rails generate controller perple index --skip-routes
解释一下:
当然肯定不只有这2个文件,挑重点的说
----(app/controllers/perple_controller);(app/views/perple/index)
----skip-routes 跳过路由(路由就是www.baidu.com/)那个斜杠后面的都可以路由设置路径


第四步
1.动手编辑
----进入config/routes.rb 中

Rails.application.routes.draw do
  root "perple#index"
end

解释一下:
--------看清楚类名不是people,是perple

perple_controller就是perple类,people类中有个方法叫做index,
这个方法名对应这app/views/perple/index.html
这个文件。 如果你创建一个do方法,就可以创建app/views/people/do.html文件 包括一下:
。C口的类名–去掉controller,就是V口文件夹的名字
。C口中的方法–就是V口文件夹下面的HTML文件名
把 people类中的index方法对应的index.html文件当做首页展示
大家可以自己动手去试试,更改Index.html文件

接下来实操一波
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
请在端口后面添加/perple 观看是否显示


5.添加modle

rails generate model Perple title:string body:text
解释一下:
创建一个model类就是数据库创建类型的模板
数据库名字叫Perples(数据库自动复数)
string类型的title(对应数据库vachar类型)
text类型的body (对应数据库text类型)

在这里插入图片描述
在db/migate 中找到创建出来的模板

class CreatePerples < ActiveRecord::Migration[7.0]
  def change
    create_table :perples do |t|
      t.string :title
      t.text :body
		#t.string:name
      t.timestamps
    end
  end
end

这只是个模板数据库还未生成;你也可以在里面添加新的列名
并且会为我们自动添加 id 主键
t.timestamps 会自动为我们在数据中添加createat:,updateat
2个列名,分别是创建时间,和修改时间

接下来数据库生成迁移
rails db:migrate
加载成功后基础部分就结束了;


部分功能:基础部分接续
1.使用模型与数据库交互
rails console (进入控制台)

ple = Perple.new(title:"first",body:"first message")
pel.save
ple = Perple.new(title:"second",body:"second message")
pel.save
#我们插入2条数据
Perple.all#获取数据库中所有数据
Perple.find(1)#获取数据库中第一条数据

退出:exit

2.显示文章列表
在Perple的index方法中定义一个实例变量
@perple = Perple.all
在index.html中写入

<ul>
  <% @perple.each do |ple| %>
    <li>
      <%=ple.title %>
    </li>
  <% end %>
</ul>

解释一下%%和%=%
%%表评估封闭的 Ruby 代码(执行代码不输出)
%=%评估封闭的 Ruby 代码,并输出它返回的值(执行代码输出)
我的理解“看成for循环,带等号的就是输出,需要显示返回值的“

3.路由跳转
c口,创建show方法

class PerpleController < ApplicationController
  def index
    @perple = Perple.all
  end
  def doSome
  end
  def show
    @showTime = Perple.find(params[:id])
  end
end

V口,创建show.html.erb

<h1><%= @showTime.title %></h1>

<p><%= @showTime.body %></p>

routes,路由

Rails.application.routes.draw do
  root "perple#index"

  
  get "/perple",to: "perple#doSome"
  get "/perple/:id", to: "perple#show"
end

解释下,对应show方法中的params[:id]:—>对应数据库中的Id
------>/:id----->/1 ----->find( params[1])---->select * from perples where id = 1”
跳转到show页面,把返回的数据放在实例@showTime身上。从而显示

在这里插入图片描述
你也可以输入个2试试。

循循渐进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值