搜索
首页web前端css教程使用 Tailwind 作为无类 CSS 框架的快速 Ruby on Rails 前端

Ruby on Rails  Frontend Rápido Usando Tailwind como um Frameworks CSS Classless

本文与本系列之前的文章非常相似,但这次我们将使用Tailwind框架作为无类CSS框架。

创建新的Rails应用

  • rails serve 命令前的 time 用于显示命令执行的总时间。以下示例耗时47秒。
<code>$ rails -v
Rails 8.0.0

$ time rails new classless-css-tailwind
...
real    0m47.500s
user    0m33.052s
sys     0m4.249s</code>

Rails 8 基于其“No Build”理念,默认使用Propshaft作为资源管道库和Importmap作为JavaScript库。Importmap不执行任何JavaScript处理。

使用VSCode或您喜欢的编辑器打开项目

<code>$ rails -v
Rails 8.0.0

$ time rails new classless-css-tailwind
...
real    0m47.500s
user    0m33.052s
sys     0m4.249s</code>

了解Rails默认布局 app/views/layouts/application.html.erb

展开…- 遵循约定优于配置(CoC)原则,Rails使用`application.html.erb`作为默认布局来渲染所有页面; - Rails 8中的原始文件内容应与以下内容相同或相似:
<code>$ cd classless-css-tailwind && code .</code>
  • 标签内包含页面渲染和正常运行的重要结构元素。 用于包含元数据和重要资源,这些资源有助于配置页面的行为(使用JavaScript)、外观(使用CSS)、与其他系统和服务的关联以及安全设置,例如CSRF和CSP保护;
  • 页面的主要内容将通过ERB标签在内渲染。此标签作为集成点,用于包含Rails动态渲染的视图内容;

使用pages控制器和html_test_1html_test_2html_test_3html_test_4操作生成测试页面

展开… ```bash $ rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4 create app/controllers/pages_controller.rb route get "pages/html_test_1" get "pages/html_test_2" get "pages/html_test_3" get "pages/html_test_4" invoke erb create app/views/pages create app/views/pages/html_test_1.html.erb create app/views/pages/html_test_2.html.erb create app/views/pages/html_test_3.html.erb create app/views/pages/html_test_4.html.erb invoke helper create app/helpers/pages_helper.rb ```
  • 由于在创建控制器和操作时也添加了路由,因此可以通过以下链接访问任何创建的操作:
  • localhost:3000/pages/html_test_1
  • localhost:3000/pages/html_test_2
  • localhost:3000/pages/html_test_3
  • localhost:3000/pages/html_test_4

使用VSCode打开config/routes.rb文件

  • 在文件末尾添加以下行,将页面根目录定向到之前创建的pages控制器和html_test_1操作。这样,访问您的网站或系统时,首先显示的页面将是pages控制器的html_test_1页面。否则,将显示Rails的默认页面。
    <title></title><meta content="width=device-width,initial-scale=1" name="viewport"></meta><meta content="yes" name="apple-mobile-web-app-capable"></meta><meta content="yes" name="mobile-web-app-capable"></meta><link href="/icon.png" rel="icon" type="image/png"></link><link href="/icon.svg" rel="icon" type="image/svg+xml"></link><link href="/icon.png" rel="apple-touch-icon"></link>
  • 如果在创建控制器时传递了--skip-routes参数,则可以忽略为创建的操作添加路由。完整的命令将变为rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4 --skip-routes

显示Rails路由

展开…使用终端,您可以指定控制器(使用`-c`)来显示路由,例如`pages`控制器:
<code>$ rails -v
Rails 8.0.0

$ time rails new classless-css-tailwind
...
real    0m47.500s
user    0m33.052s
sys     0m4.249s</code>

或者,您可以使用以下命令显示所有路由:

<code>$ cd classless-css-tailwind && code .</code>
  • 您还可以使用地址http://127.0.0.1:3000/rails/info/routes通过浏览器访问路由。请勿忘记使用项目根目录中的bin/dev或标准rails server启动开发服务器。开发服务器会“监听”JavaScript文件和CSS文件的更改,以执行必要的处理以将其提供给用户。
  • 为了使这些文件的更改能够立即在浏览器中执行和查看,需要安装像Rails Live Reload这样的gem。

我们将创建四个包含HTML内容的页面来测试CSS样式。

Ruby on Rails默认使用MVC(模型-视图-控制器)架构来启动项目的组织。大部分代码都组织在以下文件夹中:

  • 与领域/业务逻辑和数据相关的代码应保存在app/models文件夹中;
  • 与显示相关的代码(HTML、JSON、XML等)将位于app/views文件夹中;
  • 与请求生命周期相关的代码将位于app/controllers文件夹中;

插入html_test_1页面的内容

展开…- 访问链接https://github.com/dbohdan/classless-css/blob/master/screenshot-page.html并复制`
`标签内的所有内容,如下所示
<code>$ rails -v
Rails 8.0.0

$ time rails new classless-css-tailwind
...
real    0m47.500s
user    0m33.052s
sys     0m4.249s</code>

插入html_test_2页面的内容

展开…- 访问链接https://gist.github.com/tommaitland/5865229并复制`
`标签内的所有内容,如下所示
<code>$ cd classless-css-tailwind && code .</code>
A Sample Form Legend
Group of Checkboxes:
Group of Radios:
This is a button! TestTest TestTest TestTest TestTest TestTest TestTest
Datalist: - 打开`app/views/pages/html_test_2.html.erb`文件并粘贴上面复制的内容

插入html_test_3页面的内容

展开…访问链接https://github.com/cbracco/html5-test-page/blob/master/index.html并复制`
`标签后的所有内容,其中包含文本`
`
    <title></title><meta content="width=device-width,initial-scale=1" name="viewport"></meta><meta content="yes" name="apple-mobile-web-app-capable"></meta><meta content="yes" name="mobile-web-app-capable"></meta><link href="/icon.png" rel="icon" type="image/png"></link><link href="/icon.svg" rel="icon" type="image/svg+xml"></link><link href="/icon.png" rel="apple-touch-icon"></link>

以上是使用 Tailwind 作为无类 CSS 框架的快速 Ruby on Rails 前端的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
使用卷轴驱动动画的现代滚动阴影使用卷轴驱动动画的现代滚动阴影May 07, 2025 am 10:34 AM

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。

重新访问图像图重新访问图像图May 07, 2025 am 09:40 AM

让我们快速进修。图像地图一直返回到HTML 3.2,首先是服务器端地图,然后使用映射和区域元素通过图像上的单击区域定义了可单击区域。

DEV状态:每个开发人员的调查DEV状态:每个开发人员的调查May 07, 2025 am 09:30 AM

开发委员会调查现已开始参与,并且与以前的调查不同,它涵盖了除法:职业,工作场所,以及健康,爱好等。 

什么是CSS网格?什么是CSS网格?Apr 30, 2025 pm 03:21 PM

CSS网格是创建复杂,响应式Web布局的强大工具。它简化了设计,提高可访问性并提供了比旧方法更多的控制权。

什么是CSS Flexbox?什么是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

我们如何使用CSS使网站迅速响应?我们如何使用CSS使网站迅速响应?Apr 30, 2025 pm 03:19 PM

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

CSS盒装属性有什么作用?CSS盒装属性有什么作用?Apr 30, 2025 pm 03:18 PM

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。

我们如何使用CSS动画?我们如何使用CSS动画?Apr 30, 2025 pm 03:17 PM

文章讨论使用CSS,关键属性并与JavaScript结合创建动画。主要问题是浏览器兼容性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。