- 1. Draperの使い方:モデルがファットにならないようデコレーターを活用する
- 2. stimulusを用いてテーブルのtdタグ全体をリンクにする方法
- 3. 【Rails】動的にDBのテーブルにカラムを追加してみる
- 4. rubyXLのエクセル出力で部屋に属する所属毎にシートを分けてusersを書き込んでいく
- 5. Rails APIエンドポイントの作成:基本操作
- 6. rails g model と rails g migration の違い
- 7. ActiveHashの初期値を設定したらエラーメッセージが出てこなかった件
- 8. bootstrapのダウンロードの仕方
- 9. 【Rails】選択画像のプレビューを動的に表示させる
- 10. i18nによる日本語化対応【Rails】
- 11. Next.js(AppRouter)×RailsのAWS実行環境を、SSRを考慮して構築する【Terraform】
- 12. 【rails】Rspecおける基本事項まとめ
- 13. Railsで作ったシステムのER図を日本語で出してほしいと言われたときにやったこと
- 14. Rails DBのカラム名の変更方法
- 15. 【Rails】デプロイ時にロードバランサーのタイムアウト値をカスタムするのだ
- 16. 【Ruby on Rails】コンテナ内部でrailsコマンド実行したら、bash: rails: コマンドが見つかりません
- 17. `length` `size` `count`の使い分け【後編:Rails】
- 18. Ruby on RailsにおけるN+1問題
- 19. `length` `size` `count`の使い分け【前編:Ruby】
- 20. 【Rails7 + Docker】Viewファイルの変更がlocalhostで反映されない不具合を解消する
Draperの使い方:モデルがファットにならないようデコレーターを活用する
## gem draperをインストールする
gemfileにgemを記載
“`
gem ‘draper’
“`bundle installする(下記はdocker使用の場合)
“`
docker compose run web bundle install
“`
システムにデコレーター層を追加
“`
rails generate draper:install
“`
デコレーターのファイルを追加
“`
rails generate decorator ○○(モデル名)
“`## モデル名_decorator.rbにコードを書く
“`
lass UserDecorator < Draper::Decorator delegate_all def full_name "#{object.first_name} #{object.last_name}" end end ``` ## viewファイルに記述を加える ``` <%= current_user.decorate.full_name %>
“`※サーバーの再起動を忘れずに・・
stimulusを用いてテーブルのtdタグ全体をリンクにする方法
私は現在、未経験からのエンジニア転職に向けてプログラミングスクールで学習をしている、いしかわと申します。
現在PFを作成していますがテーブルを描写した際に、`stimulus`を用いてテーブルの子要素全体をリンクにした内容をアウトプットとしてこちらの記事にしました。
どなたかの参考になれば幸いです。:::note warn
プログラミング初学者なので、内容に誤り等ある可能性があります
誤りがありましたら教えてくださると幸いです
:::環境
ruby 3.2.2
rails on rails 7.0.8
stimulus 3.2.2
tailwindcss 3.3.6
daisyUI 3.9.6# 実装
<% @completed_requests.each_with_index do |request, index| %>
daisyUIの`tableクラス`を用いてテーブルを以下のように作成しています
“`html:HTML<%= index + 【Rails】動的にDBのテーブルにカラムを追加してみる
どうもこんにちは。
今回は、動的にDBのテーブルにカラムを追加する方法をメモしていきます。
# 動的にカラムを追加とは?
本来であれば、DBのテーブルにカラムを追加する場合には、以下のような手順を踏むと思います。
1. マイグレーションファイル生成
“`sh
rails g migration AddNewColumnToSample
“`2. マイグレーションファイル編集
“`ruby
class AddNewColumnToSample < ActiveRecord::Migration[7.0] def change # addcolumn :テーブル名, :カラム名, :データ型 add_column :samples, :new_column, :string end end ``` 3. マイグレーション実行 ```sh rails db:migrate ``` しかし、「custom_itemsテーブルにデータが登録された場合に、登録されたデータの名前でsamplesテーブルにカラムを追加したい」ということが出てきます。rubyXLのエクセル出力で部屋に属する所属毎にシートを分けてusersを書き込んでいく
## はじめに
開発で部屋に属する所属毎にシートを分けてエクセル出力する必要があり、ある程度実装ができたのでまとめる。
初学者やrubyXLでエクセル出力を実装しようとしている方々に少しでも参考にもなれば嬉しいのですが、
なんちゃってエンジニアによる自分のアウトプット用の投稿なので、よくないコードの書き方や、または分量的に省略している箇所もございますのでご了承をお願いします。
アドバイスがありましたらコメントを頂けますと幸いです。## 出力フロー
roomの詳細ページから出力し、roomに紐づいているユーザー(users)を所属毎(affiliations)にシートを分けて用意してあるエクセルファイルに書き込んで出力します。
usersは中間テーブルのroom_usersを経由して取得します。## テーブル構図
roomsテーブル(部屋)
|rooms|
|:–|
|id|
|name|affiliationsテーブル(所属)
|affiliations|
|:–|
|id|
|name|usersテーブル
|users|
|:–|
|id|
|name|
|afRails APIエンドポイントの作成:基本操作
## **はじめに**
この記事では、Railsを使用して基本的なAPIエンドポイント(POST、PUT、GET、DELETE)を作成する方法をメモっぽく記載しておきます。## **必要なもの**
– Ruby on Rails
– RESTful APIに関する基本的な理解## **ステップ 1: Railsのセットアップ**
まずは、新しいRailsプロジェクトを作成する。ターミナルで以下のコマンドを実行“`bash
rails new my_api_project –api
cd my_api_project
“`このコマンドにより、API専用のRailsプロジェクトが作成される。
## **ステップ 2: モデルの作成**
今回はブログの記事を管理するための`Article`モデルを作成します。次のコマンドを実行“`bash
rails generate model Article title:string body:text
rails db:migrate
“`## **ステップ 3: コントローラの設定**
`Articles`コントロrails g model と rails g migration の違い
# はじめに
`rails g model`と`rails g migration`の違いについて、なんとなくの理解しかできていなかったので備忘録としてまとめます。
# rails g modelとは
このコマンドは、新しいモデル(データベーステーブルの設計図)を作成します。モデルはデータベースのテーブルに対応し、アプリケーション内でのデータの取り扱いやロジックの管理に使用されます。
コマンドの記述方法は以下のようになります。
“`
$ rails g model モデル名 カラム名:データ型
“`
## 実行方法
例えば、以下のコマンドを実行すると、Userモデルに対応するデータベーステーブルを作成するマイグレーションファイルが生成されます。
“`
$ rails g model User name:string email:string
“`
続いて、このマイグレーションを実行して変更をデータベースに適用します。
“`
$ rails db:migrate
“`
# rails g migrationとは
このコマンドは、手動でマイグレーションファイルを生成します。主にActiveHashの初期値を設定したらエラーメッセージが出てこなかった件
# はじめに
プログラミング初心者ですので、、温かく見守って頂けると幸いです。
何か間違っていたらコメントお願いします。
# エラーメッセージが出てこない
[![Image from Gyazo](https://i.gyazo.com/47e4958e4b02fbe12628de441de857c8.png)](https://gyazo.com/47e4958e4b02fbe12628de441de857c8)
ActiveHashを使用した入力フォームの初期値に上記のような初期値を設定していましたが、そうするとエラーメッセージが出ないという状況に陥りました。
しかも、初期値ではエラーメッセージ出ないのに、普通に項目を選択して保存しようとすると、”Category can’t be blank”というエラーが、、、(選択してるのに、、、)# 解決
原因ははっきりしていませんが、修正した箇所としては、
idを0~から始めるのではなく1~から始めた。(上記の画像は修正後)
ビューのnew.html.erbの
**<%= f.collection_select(:category_ibootstrapのダウンロードの仕方
## gemをインストール
gemfileに以下を記載
“`
gem ‘bootstrap’, ‘~> 5.3.0’
“`bundle installする(コンテナ内で行う場合)
“`
docker compose run web bundle install
“`
## 共通ファイル作成
flashメッセージは複数のビューファイルで使うので、部分テンプレートにしておく。
views/shared/_flash.html.erb
“`
<% flash.each do |message_type, message| %>関連する記事
OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた