• Ruby on Rails Post项目设置网站初始界面


    在构建了Ruby的Web服务器后,第三步就可以去掉框架的官方页面,设置自己的网页初始页了。

    Linux系统安装Ruby语言-CSDN博客
     、在Ubuntu中创建Ruby on Rails项目并搭建数据库-CSDN博客

    Ruby语言建立Web服务器-CSDN博客

    了解Ruby onRails项目中的主要文件夹

    Ruby on Rails项目的Web网页视图文件为.erb文件,编写方法和HTML文件很相似(PHP也差不多),.erb文件通常放在  \项目文件夹\app\views\posts 文件夹里,Ruby on Rails的Post项目中主要文件夹和作用如下:

    1. app文件夹:这是项目的核心部分,包含了应用的大部分代码。

      • controllers:存放驱动业务逻辑的控制器文件。这些文件定义了应用程序中不同部分的行为和响应。
      • helpers:存放视图辅助类,包含一些常用的代码段,用于在视图中简化复杂的输出逻辑。
      • models:存放数据模型文件,定义了数据描述结构、验证和完整性规则等。这些模型通常与数据库表相对应。
      • views:存放生成HTML的模板文件,也可以存放CSS和图片。这些文件负责应用的用户界面显示。
    2. config文件夹:存放与服务器、数据库或其他依赖相关的配置文件。

      • database.yml:用于配置Ruby程序和数据库的连接。
      • routes.rb:定义了应用程序的路由设置,指定如何将进来的请求转发到相应的控制器和动作。
    3. db文件夹:主要用于存储开发人员编写的数据库迁移文件和模式文件,这些文件用于管理数据库的结构和版本。

    4. doc文件夹:存放Rails应用的文档,包括自动生成的rdoc文档和其他相关文档。

    5. lib文件夹:存放应用程序运行过程中所需要的类库文件,这些类库不属于控制器、视图和辅助类。

    6. log文件夹:用于存放程序运行期间产生的日志文件,包括development.log、test.log和production.log等,这些文件记录了应用程序的运行信息和错误。

    7. public文件夹:存放Rails应用的静态资源,如图片、JavaScript脚本、CSS样式等。这些资源可以直接通过Web服务器访问。

    8. script文件夹:存放一些有用的脚本文件,用于启动和生成代码等操作。

    9. test文件夹:用于存放单元测试和集成测试的文件,这些文件用于验证应用程序的功能和性能。

    10. vendor文件夹:存放一些程序依赖的外部类库和插件,这些类库可以被自动加载。

    创建网页初始页面

    运行前首先找到posts文件夹,里面存放了允许开发者在HTML结构中嵌入Ruby代码的.erb文件,Ruby代码通常被包含在<% %>标签中,用于执行逻辑操作,而<%= %>标签则用于输出Ruby表达式的值到HTML中。

    可以先简单修改 index.html.erb 文件内容如下:

    1. html>
    2. <html lang="zh">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>happy gaytitle>
    7. <style>
    8. body {
    9. font-family: Arial, sans-serif;
    10. margin: 0;
    11. padding: 0;
    12. background-color: #f2f2f2;
    13. }
    14. .container {
    15. max-width: 960px;
    16. margin: 0 auto;
    17. padding: 20px;
    18. }
    19. h1 {
    20. color: #333;
    21. text-align: center;
    22. }
    23. p {
    24. color: #666;
    25. line-height: 1.6;
    26. }
    27. style>
    28. head>
    29. <body>
    30. <div class="container">
    31. <h1>OH yeah!h1>
    32. <p>这是第一个Ruby页面p>
    33. <p>GGBoys!!!!p>
    34. div>
    35. body>
    36. html>

     修改路由设置文件

    routes.rb文件使用一种DSL(领域特定语言)来描述应用中的路由结构,定义应用程序中所有路由。

    在 config/routes.rb 文件中修改路由设置,指向posts文件夹:

    1. Rails.application.routes.draw do
    2. resources :posts
    3. root to: 'posts#index' # 应用程序的根URL路由
    4. end

    原版如下,上述代码是我修改了的:

    1. Rails.application.routes.draw do
    2. resources :posts
    3. GET /posts => posts#index
    4. GET /posts/new => posts#new
    5. POST /posts => posts#create
    6. GET /posts/:id => posts#show
    7. GET /posts/:id/edit => posts#edit
    8. PATCH/PUT /posts/:id => posts#update
    9. DELETE /posts/:id => posts#destroy
    10. end

    修改控制器文件

    在Ruby on Rails中,PostsController 是一个控制器类,它处理与Post模型相关的请求。控制器是MVC(Model-View-Controller)架构中的“C”部分,负责接收用户请求,处理业务逻辑,并准备数据以供视图(View)使用。

    @posts = Post.all 这行代码会查询数据库,获取所有的Post记录,并将它们存储在实例变量@posts中,espond_to块允许控制器根据不同的请求格式返回不同的响应,如果请求的格式是HTML(通常是浏览器请求),Rails会默认渲染与index方法同名的视图模板,即app/views/posts/index.html.erb。这个视图模板会使用@posts变量来动态生成HTML内容,如果请求的格式是JSON(常见于API请求),Rails会返回一个包含所有帖子数据的JSON响应。这里,render json: @posts会将@posts数组转换为JSON格式,并作为响应体返回。

    在 /app/controllers/posts_controller.rb 文件中添加一个index方法来渲染index.html.erb视图

    1. class PostsController < ApplicationController
    2. # GET /posts
    3. def index
    4. @posts = Post.all
    5. respond_to do |format|
    6. format.html # index.html.erb
    7. format.json { render json: @posts }
    8. end
    9. end
    10. end

    运行文件

    rails server

    运行成功: 

  • 相关阅读:
    SecretFlow隐语-简介
    笔记(二)图的基本表示【斯坦福CS224W图机器学习】
    【pytorch】目标检测:一文搞懂如何利用kaggle训练yolov5模型
    OpenGL 绘制文本(QPainter)
    记一次排查线上OOM详细过程和解决思路
    一篇搞定SpringCloud面试(两万字)
    [附源码]java毕业设计基于web的建筑合同管理系统
    arr.sort
    Flink系列之Flink中Broadcast和Counter整理和实战
    Elasticsearch打分机制
  • 原文地址:https://blog.csdn.net/m0_73500130/article/details/139814527