Ruby on Rails Controller 是干嘛的

Controller 中⽂可翻译成「控制器」,顾名思义,就是⽤来控制流程⽤的。它可能需
要跟 Model 要资料,可能需要跟 View 要 HTML template 来玩填空游戏,或是可能
需要存取外部服务(例如⾦流串接)等,这⼤多是 Controller 要做的⼯作。
命名惯例
在 Rails 的惯例中,Controller 的命名会根据 Route 是使⽤复数的 resources 还
是单数 resource ⽅法⽽定。如果在 Route 是使⽤复数型态,例如:

Rails.application.routes.draw do
resources :posts
resources :users
end

在没有特别指定 Resources 的 controller 参数的情况下,预设会对到的
Controller 就会是 PostsController 或是 UsersController 这样的复数型态;
反之,如果使⽤的是单数 resource ,对到的就会是单数命名的 Controller。
第 0 步 - 新增 Controller
12 Controller
168
在开始之前,让我们使⽤ Rails 内建的产⽣器做⼀个全新的 Controller:

$ bin/rails g controller pages
Running via Spring preloader in process 16503
create app/controllers/pages_controller.rb
invoke erb
create app/views/pages
invoke test_unit
create test/controllers/pages_controller_test.rb
invoke helper
create app/helpers/pages_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/pages.coffee
invoke scss
create app/assets/stylesheets/pages.scss

上⾯这⾏指令会帮你做出⼀个 PagesController 类别,以及⼀些其它对应的档案
及⽬录。Controller 的内容如下:

class PagesController < ApplicationController
end

这个 Controller 除了继承⾃ ApplicationController 类别之外,里⾯什麽内容都
没有。所以如果上⼿之後,也不⼀定要⽤产⽣器来帮你产⽣ Controller,直接⾃⼰⼿
动新增也⾏。

参考资料

[为你自己学Ruby on Rails]https://railsbook.tw/chapters/08-ruby-basic-4.html


<<:  [机派X] Day 3 - Bash 是啥东东

>>:  GitHub Action 实作持续整合 - 以 ASP.NET Core 专案为例

<Day25> 永丰金iLeader — 查询报价

● 这章会大致介绍永丰金iLeader及如何透过它查询报价 "永丰金iLeader&quo...

TailwindCSS 从零开始 - 元件相同时,把共同样式拉出来

单一按钮样式元件 前篇有写到单一按钮,可以把样式拆成元件来使用。如下: @layer compon...

总结

本系列文章经过重新编排和扩充,已出书为ECMAScript关键30天。原始文章因当时准备时程紧迫,...

Day11 - 状态机与现实世界的落差 - 1: Action? Side Effect

既然我们已经理解、实作完基本的状态机了,我们今天来多看看一些状态图,并且思索在现实世界中,我们还缺少...

[Day 最後一天]心得感想

终於结束了!! 一开始以为 30 天可以咻的一声就过去了 没想到真的十分的不容易呀 更尤其是这中间居...