如何修改Rails預設腳手架的模板

2021-09-11 12:33:59 字數 1247 閱讀 9289

在使用rails的時候,對於scaffold這個操作並不陌生,因為在很多入門的教材中就會教你使用rails g scaffold book titile:string author:string這個命令去建立乙個預設的scaffold,這個操作會幫你建立model、view、controller、test、assets、routes等等各種東西,不得不說,這樣真的是能夠少寫很多**。

但是,實際上,在對於乙個小型的原型,這個操作生成的scaffold的樣式並不能達到你滿意的效果,因為自帶的樣式是非常有限的,但是在積累了一些專案的經驗之後,比如你發現帶上bootstrap會使得樣式更加工程化一些,看起來不那麼的rusty。

綜上所述,我想要修改預設的generator生成的東西,這個之前看simon使用過,但是沒有仔細的研究模板,所以今天正好抽了乙個時間把這個東西講一下。

操作其實並不複雜,google搜尋一下 how to change rails default scaffold template, 出來的結果基本上還是差強人意的。所以學會提問能夠使得你的工作效率太幅度的提公升。在研究了一些問題之後,發現rails guides上面有一篇文章是告訴你如何去修改以及建立自己的generator。

well, tl;dr

所以你需要操作的就是

mkdir -p lib/templates/erb/scaffold/

所以可以看到,如果在這裡面放了一些模板,rails會去使用這裡面的模板而不是自帶的乙個模板了。

於是你在裡面可以新建

touch index.html.erb _form.html.erb show.html.erb new.html.erb edit.html.erb

建立了以上之後,你就可以修改裡面的內容了。

至於內容在**,當然是在rails的原始碼裡面咯,傳送門

當然你把那些東西都複製進去之後理論上你就覺得可以讓這些東西run起來了,實在是太年輕。有時候還很天真。他會給你報乙個錯,告訴你model_resource_name找不到這個方法,你不需要擔心,因為既然我寫這篇文章就會告訴你裡面有兩個方法找不到咯。

乙個是model_resource_name,另乙個是singular_route_name,解決方案很簡單,替換成singular_table_name就可以了,至於為什麼。 你可以看另乙個傳送門。

以上。long live the rails.

koa的腳手架

1.什麼是腳手架?腳手架建成cli,koa的腳手架就是koa cli 咱們之前在做koa框架開發的時候,會發現在乙個專案中咱們的目錄結構是非常清晰的,第三方包,模板,路由都會被規範到對應的資料夾中,但是在最後做專案的時候如果所有的檔案和資料夾都需要自己建立,就會非常的麻煩,這時候koa中給咱們提供了...

vuecli腳手架的安裝與腳手架建立專案

安裝最新版本腳手架,進入終端輸入命令 npm install g vue cli由於vuecli3.0之後與2.0產生了較大的變化,如果想要使用2.0版本的模板的話,需要使用2.0版本的 vue init 輸入命令 npm install g vue cli init在終端中輸入vue versio...

vue cli腳手架的搭建

說起 vue 估計腳手架的搭建也是很令人頭疼的問題吧。剛開始接觸腳手架,自己也有一種很矇圈的感覺,現在專案寫多了,慢慢對腳手架的搭建環境也熟悉了。搭建腳手架,第一步要先檢查 node js 的版本問題,可以使用 node v 指令來檢查版本!我的版本是 6.2.0 版本只要是 4.0 以上就可以正常...