<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>yuler (YuLe)</title>
    <link>https://ruby-china.org/yuler</link>
    <description>Rails 新手</description>
    <language>en-us</language>
    <item>
      <title>Rails 学习之旅：构建短链网站</title>
      <description>&lt;p&gt;大家好，&lt;/p&gt;

&lt;p&gt;作为一名 Rails 新手，我最近决定深入探索这个令人兴奋的框架。在观看了 Rails 的纪录片并阅读了一系列相关文章后，我被它的高效开发能力所吸引。为了项目实践驱动学习，我跟随 &lt;a href="https://gorails.com/series/build-a-url-shortener-with-rails-7" rel="nofollow" target="_blank" title=""&gt;Build a URL Shortener with Rails 7&lt;/a&gt;的教程，成功构建并部署了一个 [短链网站](&lt;a href="https://yuler.cc" rel="nofollow" target="_blank"&gt;https://yuler.cc&lt;/a&gt;）到阿里云。&lt;/p&gt;

&lt;p&gt;源码可以在这里查看：GitHub - &lt;a href="https://github.com/yuler/rails-shortener" rel="nofollow" target="_blank" title=""&gt;yuler/rails-shortener&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;我的体验总结如下：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rails 作为全栈框架的优势&lt;/strong&gt;：与像 Next.js 和 Nuxt.js 这样的前端框架不同，Rails 提供了许多官方支持的功能，比如数据库 ORM、邮件服务、测试等，让开发变得更加高效。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ruby 的可读性&lt;/strong&gt;：正如 Rails 纪录片中所说，Ruby 的代码就像自然语言的伪代码，即使是新手也能很快理解。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Turbo-rails 和 Stimulus&lt;/strong&gt;：Turbo-rails 通过渲染 html.erb 并返回 HTML 代码片段来更新页面，实现单页应用的局部更新，而 Stimulus 则用于实现页面的交互操作（尽管我还没尝试过）。&lt;/li&gt;
&lt;li&gt;Rails 7 的模板默认包含 Dockerfile 文件，这让使用 Kamal 部署服务变得非常快捷。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Active Record 的强大&lt;/strong&gt;：它让业务模型操作集中在 model 层，使 controller 层只需进行简单的操作。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;异步任务和测试集成&lt;/strong&gt;：Job 功能使得将操作放入异步任务变得简单，而 Rails 的测试集成则让编写测试用例变得非常容易。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;总的来说，我对 Rails 无论是开发效率还是作为 API 服务的潜力都令人印象深刻。我会继续学习和探索。&lt;/p&gt;</description>
      <author>yuler</author>
      <pubDate>Wed, 06 Dec 2023 13:29:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/43503</link>
      <guid>https://ruby-china.org/topics/43503</guid>
    </item>
  </channel>
</rss>
