Rails関連のことを調べてみた2022年12月08日

Rails関連のことを調べてみた2022年12月08日
目次

Railsの自動読み込みにオリジナルの変換処理を追加する

この記事は [CAMPFIRE Advent Calendar 2022](https://qiita.com/advent-calendar/2022/campfire) 8日目の記事です。

アドベントカレンダー参加という良い機会に、ふと気になったRailsの自動読み込み(autoload)について調べてみました。

# 前提
以下の環境で検証しています
– OS: macOS
– Rubyバージョン: 2.7.6
– Railsバージョン: 7.0.4
– Railsオートローダ: Zeitwerk

また、[Railsガイド](https://railsguides.jp/autoloading_and_reloading_constants.html) の表現に基づき`autoload`を「自動読み込み」として称しています

# Railsの自動読み込み(オートロード)
Rail で利用されているオートローダはRails6以降のバージョンで変更され現在は[Zeitwerk](https://github.com/fxn/zeitwerk)というgemに任されています

Ra

元記事を表示

Hotwire勉強会ログ (2)

# はじめに

この記事では、Ruby on Rails 7を使用してフロントエンドのJavaScriptのフレームワークであるHotwireのStimulusの使用するまでの流れを追っていきます。

Stimulusは既に生成されたHTMLに対して部分的にJavaScriptを使用するケースに適したフレームワークになります。JavaScriptを使用してボタンのクリックなどの処理を作成していく際には、onclickイベントなどを
直接記述する方法からjQueryを利用するなど様々な方法があると思いますが、書き方を合わせるためにもフレームワークとしてStimulusを使うとコードの把握も行いやすく、更に便利になるのではないかと思います。

## 特徴

Stimulusの特徴としては、HTML側のタグの属性に適用するStimulusのクラス(controller: Railsとは別)や動作(action)を書いていき、同じ動作を行う箇所については再利用しやすいという点があります。特徴については、[Stimulusのドキュメント](https://stimulus.hotwired.de

元記事を表示

都知事杯オープンデータ・ハッカソン2022で最終選考に残った理由を考察してみた

## 概要

RUNTEQというプログラミングスクールに通っている有志メンバー4人(途中からRUNTEQ校長もjoin)で、東京都主催のハッカソンに参加してきました!!

チームメンバー全員ほぼ開発未経験のなか
なんと、、、

__約60チームの中でファイナルステージに進出!__

そしてファイナルステージでは

__オーディエンス賞を受賞することができました!!!!!!!!!!__:tada:

嬉しかったですね〜〜〜
__小池百合子__ 都知事とも写真が撮れました!! :sparkles:
戦略的に戦うことで、つよつよなエンジニアさんと互角に戦えることができました(はず…)

優勝までは手が届きませんでしたが、ほぼ未経験者の私たちが、オーディエンス賞を勝ち取る
までのお話をまとめてみました。

## 都知事杯オープンデータ・ハッカソン2022とは

今回私たちが参加したのは東京都庁が主催しているオープンデータハッカソンです。
ハッカソンという言葉はハック(hack)とマラソン(marathon)を合わせた混成語のことです。
簡潔にまとめると、東京都の公開しているオ

元記事を表示

Rails concern

## Rails concernとは
Railsでアプリケーションを作ると、“`controllers/concerns“`, “`models/concerns“`が自動的に生成されますがこのディレクトリを使ったことはありますか? 僕はないです。

調べてみたところ、主に
– “`共通ロジックを持つときにconcernに切り出す“`
– “`そのmodelやcontrollerとは異なるロジックである場合に切り出す“`

の2つの使い方があるのかなと思いました。

例として、メールの送信ロジックなどをあげることができます。

特定の条件(投稿数が100に達する、フォロワーが100人に達するなど)を満たした時に、メールを送信するというロジックは、複数のモデルに適用することができますし、モデルロジックとは少し異なるロジックであると考えることができます。
このような時にmoduleとしてconcernに切り出します。
切り出されたmoduleは必要とするmodelでincludeすることによって使うことができます。

## 使い方
concernの使い方としては2つあります

元記事を表示

Turbo 7: アプリケーションにTurboをインストール

:::note
この記事は[Google翻訳](https://translate.google.co.jp/)の結果を編集したものです。
:::

https://turbo.hotwired.dev/handbook/installing

Turboは、アプリケーションの``で直接Turbo配布可能スクリプトを参照するか、Webpackなどのバンドラーを介してnpmを介してコンパイルされた形式でインストールできます。

# コンパイルされた形式で

配布可能な最新のスクリプトをGitHubリリースページからダウンロードして、ページの`