Rails: 如何用最簡(jiǎn)單的方式開發(fā)一個(gè)完美的Rails網(wǎng)站
Rails: 如何用最簡(jiǎn)單的方式開發(fā)一個(gè)完美的Rails網(wǎng)站

這里有三個(gè)神器,可以讓你構(gòu)建網(wǎng)站時(shí)的代碼更少、更有用。讓我們一起探索Rails、Ralix和Tailwind背后的奇妙力量。
目錄
? 簡(jiǎn)介
? 功能介紹
? 安裝和配置
? 總結(jié)
? 注意事項(xiàng)
? 參考文獻(xiàn)
簡(jiǎn)介
技術(shù)支持:
? Rails
? Ralix
? Tailwind CSS
? PostgreSQL
? Turbo
? esbuild
功能介紹
Rails v7應(yīng)用程序模板已經(jīng)準(zhǔn)備好開始構(gòu)建您的下一個(gè)項(xiàng)目,具有預(yù)先配置的現(xiàn)代前端堆棧和一些額外功能:
? 簡(jiǎn)約和響應(yīng),干凈的布局
? 圖標(biāo)包,通過Heroicons
? 身份驗(yàn)證,通過Devise
? 授權(quán),通過CanCanCan
? 搜索,通過Ransack
? 分頁(yè),通過Pagy
? 靜態(tài)頁(yè)面控制器(關(guān)于,術(shù)語(yǔ)…)
? 自定義錯(cuò)誤頁(yè)面:404,422,500
? 現(xiàn)成的組件:表格,按鈕,表格,卡片,情態(tài)動(dòng)詞,工具提示
安裝和運(yùn)行
安裝
系統(tǒng)環(huán)境: Ubuntu系統(tǒng) 20.04
克隆這個(gè)存儲(chǔ)庫(kù),然后cd到文件夾中并運(yùn)行:
運(yùn)行
運(yùn)行服務(wù):
打開1270.0.1:3000
看到如下頁(yè)面說明開啟成功, 恭喜恭喜!
PC端

移動(dòng)端

注意事項(xiàng)
PG沒有安裝

執(zhí)行命令:
Yarn沒有成功安裝

導(dǎo)入軟件源的 GPG key 并且添加 Yarn APT 軟件源到你的系統(tǒng),運(yùn)行下面的命令:
一旦軟件源被啟用,升級(jí)軟件包列表,并且安裝 Yarn:
上面的命令同時(shí)會(huì)安裝 Node.js。 如果你已經(jīng)通過 nvm 安裝了 Node,跳過 Node.js 安裝過程:
一旦完成,通過打印 Yarn 版本來驗(yàn)證安裝過程:
你已經(jīng)成功地在你的 Ubuntu 機(jī)器上安裝好了 Yarn,你可以開始繼續(xù)執(zhí)行bin/setup
命令。
發(fā)現(xiàn)Node版本不對(duì)

讓我們從安裝NodeSource PPA開始。這將允許我們使用Apt包管理器安裝后續(xù)版本的NodeJS。 讓我們確保我們?cè)谥髂夸浵虏⑾螺d安裝腳本:
接下來,讓我們運(yùn)行將添加NodeSource PPA的設(shè)置:
現(xiàn)在我們已經(jīng)添加了NodeSource PPA,允許我們安裝NodeJS 14。首先讓我們更新APT包庫(kù):
最后,安裝NodeJS 14:
現(xiàn)在我們應(yīng)該已經(jīng)安裝了NodeJS 14。我們需要檢查安裝的版本,我們可以通過運(yùn)行以下命令來做到這一點(diǎn):

出現(xiàn)PG無(wú)法創(chuàng)建數(shù)據(jù)庫(kù)的問題

Chatgpt解答:
這段報(bào)錯(cuò)信息表示在運(yùn)行 bin/rails db:prepare 命令時(shí)出現(xiàn)了問題。具體來說,這個(gè)錯(cuò)誤是由于應(yīng)用程序無(wú)法連接到 PostgreSQL 數(shù)據(jù)庫(kù)服務(wù)器,導(dǎo)致無(wú)法繼續(xù)執(zhí)行該命令。 錯(cuò)誤信息提供了一些額外的上下文信息,其中列出了 Unix 域套接字(Unix domain socket)文件的路徑 /var/run/postgresql/.s.PGSQL.5432, 提示 PostgreSQL 服務(wù)器可能無(wú)法連接該套接字文件。 此外,錯(cuò)誤信息還包括了 PG::ConnectionBad 異常,說明了這個(gè)問題是由 PostgreSQL 客戶端連接失敗引起的。 要解決這個(gè)問題,您需要檢查 PostgreSQL 服務(wù)器是否正在運(yùn)行,并且能夠使用指定的套接字路徑進(jìn)行連接。 您可以嘗試檢查 PostgreSQL 的日志以獲取其他有用的上下文信息,例如是否有任何錯(cuò)誤或警告消息。另外,您還可以確保 PostgreSQL 服務(wù)器已經(jīng)啟動(dòng)并正在運(yùn)行,并且已經(jīng)正確配置了連接所需的套接字文件路徑。最后,您也可以檢查Rails應(yīng)用程序中數(shù)據(jù)庫(kù)配置是否正確,確保應(yīng)用程序正在嘗試使用正確的數(shù)據(jù)庫(kù)名稱、用戶名和密碼進(jìn)行連接。
參考最上面的PG安裝, 還是因?yàn)闆]有執(zhí)行sudo apt install libpq-dev postgresql
命令造成的, 重點(diǎn)是最后的postgresql
。
角色jesse無(wú)法創(chuàng)建的問題
jesse是我的ubuntu系統(tǒng)之用戶名
首先,您需要確保 PostgreSQL 服務(wù)器正在運(yùn)行并且已正確配置,以允許應(yīng)用程序使用 jesse 角色進(jìn)行連接。
PG安裝完畢后,系統(tǒng)會(huì)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)超級(jí)用戶?postgres
,密碼為空, 通過如下命令可以切換過去:
接著輸入以下信息進(jìn)入PG命令行:
如果 jesse 角色不存在,則可以創(chuàng)建該角色,并授予適當(dāng)?shù)臋?quán)限,例如:
完成創(chuàng)建jesse
角色后, 可以通過\q
退出PG命令行:
設(shè)置開機(jī)自動(dòng)啟動(dòng):

暫時(shí)無(wú)法解決的問題(已經(jīng)給作者提交Issue)

參考文獻(xiàn)
https://github.com/ralixjs/rails-ralix-tailwind#install
https://www.stewright.me/2021/03/install-nodejs-14-on-ubuntu-20-04/
https://zhuanlan.zhihu.com/p/143982255
https://github.com/ralixjs/rails-ralix-tailwind/issues/13
https://www.jianshu.com/p/68be095f983c
https://blog.csdn.net/stone_fall/article/details/112258628