压缩现代 Web 应用程序的复杂性。

学习开始所需的知识,然后在学习过程中不断提升水平。Ruby on Rails 可扩展至从 HELLO WORLD 到 IPO。

您拥有良好的公司。

在过去二十年中,Rails 已将无数公司带入数百万用户和数十亿美元的市值。

这些只是几个大名。自 Rails 问世以来,已经用它创建了数十万个应用程序。

共同构建。

超过六千人已为 Rails 贡献代码,还有更多人通过宣传、文档和错误报告服务于社区。加入我们!

您需要的一切。

Rails 是一个全栈框架。它附带构建前端和后端惊人 Web 应用程序所需的所有工具。

渲染 HTML 模板、更新数据库、发送和接收电子邮件、通过 WebSockets 维持活动页面、将作业排队以进行异步工作、将上传存储在云中、为常见攻击提供可靠的安全保护。Rails 实现了所有这些以及更多功能。

app/models/article.rb
class Article < ApplicationRecord
  belongs_to :author, default: -> { Current.user }
  has_many   :comments

  has_one_attached :cover_image
  has_rich_text :content, encrypted: true
  enum status: %i[ drafted published ]

  scope :recent, -> { order(created_at: :desc).limit(25) }

  after_save_commit :deliver_later, if: :published?

  def byline
    "Written by #{author.name} on #{created_at.to_s(:short)}"
  end

  def deliver_later
    Article::DeliveryJob.perform_later(self)
  end
end

Active Records 使建模变得容易。

数据库通过封装在丰富对象中的业务逻辑而栩栩如生。对表之间关联进行建模,在保存时提供回调,无缝加密敏感数据以及以优美的形式表达 SQL 查询。

app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
  def index
    @articles = Article.recent
  end

  def show
    @article = Article.find(params[:id])
    fresh_when etag: @article
  end

  def create
    article = Article.create!(article_params)
    redirect_to article
  end

  private
    def article_params
      params.require(:article).permit(:title, :content)
    end
end

Action Controllers 处理所有请求。

控制器将域模型公开给 Web,处理传入参数,设置缓存头,并渲染模板,以 HTML 或 JSON 形式响应。

app/views/articles/show.html.erb
<h1><%= @article.title %></h1>

<%= image_tag @article.cover_image.url %>

<p><%= @article.content %></p>

<%= link_to "Edit", edit_article_path(@article) if Current.user.admin? %>

Action Views 混合了 Ruby 和 HTML。

模板可以使用 Ruby 的全部多功能性,过多的代码提取到助手,域模型直接使用并与 HTML 交织在一起。

config/routes.rb
Rails.application.routes.draw do
  resources :articles do    # /articles, /articles/1
    resources :comments     # /articles/1/comments, /comments/1
  end

  root to: "articles#index" # /
end

Action Dispatch 路由 URL。

使用路由域语言配置 URL 如何连接到控制器。路由公开了一组作为资源组合在一起的操作:索引、显示、新建、创建、编辑、更新、销毁。

针对幸福进行了优化。

Rails 在一组广泛的异端思想周围团结和培养了一个强大的部落,这些思想涉及编程和程序员的本质。了解这些思想将有助于您理解该框架的设计。

让我们开始吧。

了解有关Hotwire 的更多信息,它是 Rails 的默认前端框架。

YouTube本周 Rails保持最新