>100 Views
November 14, 25
スライド概要
Professional Ruby and Rails programmer in Tokyo.
爆速アプリ開発 個人開発発表 LT大会@Shinjuku.rb
もとつねの日常 @daily_mototsune Ruby on Railsを中心に扱っているフリーランスエンジニア ドメインモデリングからAWSでの運用、スクラム運営やチームビルディ ングなどなど楽しくやらせてもらってます 普段はOmotesando.rbやGinza.rbによくいます
年末年始 個人開発したい!
迫り来る数々の予定 - 大掃除 家族旅行 友達家族との会食 新しい家族の受け入れ 通院 地域.rb(含む東京Ruby会議)
そんな時見つけた今回の Shinjuku.rb
???「個人開発発表LTおもし ろそうじゃん、なにもできてない けどなんとかなるっしょ」
気がついたら時は1月29日
ようやく暴れ出すパニックモンスター
アホ「この昼休憩の1時間に賭けるし かない…ゴクリ」
(1時間で)爆速アプリ開発 個人開発発表 LT大会@Shinjuku.rb
今回のテーマはblog
Ruby on Rails Guide読め
完
ちっちっち、8.0から storeなんだよなぁ(ドヤァ
なにはともあれ rails new - 今回は速度優先なのでrails-newを利用して環境を作成していきます rails-newはrails newコマンドをRubyがインストールされていない環境で実 行できる 詳しくは https://github.com/rails/rails-new $ ./rails-new blog --skip-action-mailbox --skip-action-mail --skip-test --asset-pipeline=propshaft --skip-jbuilder --css=tailwind --devcontainer
--devcontainer - このオプションをつけるとdev container環境の設定ファイルが生成される vscodeを開きコマンドパレットから”Open Folder in Container”を選択する と環境設定が始まる control+`で開くターミナルはappがattachされている
Articleをscaffoldで生成
記事の内容はActionTextを使う
bin/rails db:migrate
Articleモデルにrich_textの設定を追加
views/articles/_form.html.erbに項目追加
viewa/articles/_article.html.erbにcontentの表示 を追加
ArticlesControllerのactionがcontentを受け取れ るように
bin/devでサーバ起動
親の顔より見た画面
/articles
/articles/new
設定なしてtrixが機能している
WYSIWYGエディタもちゃんと機能して…
createしてshowページで確認しても…
tailwindの@baseが標準のstyleをリセットしていた
app/assets/stylesheets/application.tailwind.cssにstyleを追加
@layer base {
.trix-styles h1 {
font-size: 1.25rem !important;
line-height: 1.25rem !important;
@apply leading-5 font-semibold mb-4;
}
.trix-styles a:not(.no-underline) {
@apply underline;
}
…
gist: https://gist.github.com/saeki-mototsune/8d18222afd114c7259c084f349b5350d
どちらも正しく表示されるように
このままでは誰でも記事を投稿でき るカオスな世界に…!
bin/rails g authentication
bin/rails db:migrate
どのページにアクセスしてもログイン画面
何が起きているのか - ApplicationContollerにAuthentication Concernがincludeされる - その中でbefore_action :require_authenticationを定義されている - 認証済みでない場合、ApplicationContorollerを継承している全ての contollerのactionでサインイン画面に転送される - 記事一覧、記事ページは見れて欲しいので認証を不要にする
allow_unauthenticated_accessで認証をスキップ する
記事の作成、編集ができる管理者ユーザの作成
思い出したかのようにrouteの設定
なんとなくblogができたので これを本番にdeployしたい
我々にはkamalがいる
config/deploy.ymlを編集
kamal setup
kamal deploy
管理ユーザの作成もkamalなら簡単
Railsを使うと1時間で - ブログの基本的なMVCと - リッチな記事作成機能(WYSIWYGや画像) - ユーザー認証機能と - それらが動く本番環境ができました
妻「Wordpressってやつ便利らしいよ」