Categories
├─Books Cloud services Events Standard TechTips Others
├─Software
│ ├─Mac OS Programming languages Windows Others
│ ├─Libraries
│ │ └─C C++ Java JavaScript Python Ruby Rust Others
│ └─Unix
│ └─Unix commands Others
└─Web
└─Document Service Others
Omotesando.rb #107
[お知らせ]こちらのまとめに追加して欲しい内容があるなど、ご要望等ございましたら、下の所からのコメントやX(旧Twitter)などでお気軽にお伝えください。
Connpass: https://omotesandorb.connpass.com/event/346292/
それぞれのLTなどについての簡単な記録です。
スポンサーLT:IBJ様
hamachan「Ruby型推論は楽しいぞ」
s.mototsune「みんな知ってるfresh_when」
わこー「Sinatraってなんで動いているの?」
Kirika_K2「最近休日にやっていること」
sinsoku「RBS::Trace」
Kaiba「LLM Fixerの紹介」
params.expectで配列のパラメータを許可するには明示的に二重の角括弧([[ :属性名 ]])が必要
ちなみに、RuboCopに
require
とpermit
の組み合わせからexpect
への書き換えを自動でやってもらうことは可能ですが、配列パラメータの許可に関してはRuboCopが自動書き換えに失敗する場合があります。その理由は以下の記述は、配列のパラメータも配列でないパラメータも許可してしまうため、RuboCopとしては配列なのかそうでないのかの判定が機械的に行えないためであると考えられます。
より詳しくは、前述の記事のこちらの箇所を参照ください。
params.expectで配列のパラメータを許可するには明示的に二重の角括弧([[ :属性名 ]])が必要
Rails8では、
require
とpermit
に代わるより安全な新しいメソッドとして、strong parametersへexpect
が導入されました。expect
では、安全面への配慮から、配列のパラメータを指定する方法がpermit
に比べ厳格化されています。 具体的には、配列のパラメータを許可するには明示的に二重の角括弧([[ :属性名 ]])が必要となりました。配列のパラメータを許可する具体的な方法(引用元:
expect
のAPIドキュメント)は以下の通りです。なお、安全のためにexpectがこの二重の括弧の記法を採用した背景については、Rails 8: strong parametersの新しいparams.expectの使い方(翻訳)を参照ください。
Shinjuku.rb #97 「個人開発発表 LT大会!」
小林悟史さんの発表スライドの情報を追記しました。
Shinjuku.rb #97 「個人開発発表 LT大会!」
[お知らせ]こちらのまとめに追加して欲しい内容があるなど、ご要望等ございましたら、下の所からのコメントやX(旧Twitter)などでお気軽にお伝えください。
Connpass: https://shinjukurb.connpass.com/event/342412/
それぞれのLTなどについての簡単な記録です。
開始前
新宿のIBJにて
はじめに
スポンサーLT:IBJ様
hamachan「Ruby型推論は楽しいぞ!」
チャー「収益を出すための個人開発」
Wakairo「PmRails」
スライド: https://speakerdeck.com/wakairo/pmrails
Koji NAKAMURA「Add-on を作って学ぶ Ruby LSP」
スライド: https://speakerdeck.com/kozy4324/ge-ren-kai-fa-fa-biao-lt-shinjuku-dot-rb-number-97
yoshihisasan「Chrome拡張」
小林悟史(小林ノエル)「政治資金データベース」
発表スライド: https://www.docswell.com/s/free_world21/59V2RJ-2025-02-05-132943
s.mototsune「爆速アプリ開発」
発表資料: https://blog.saeki-mototsune.com/articles/1
yamataka22「プロジェクトタスク管理ツール」
Solid Queueとアプリで同じDBを使う時の注意点と設定
公式READMEでは、Solid Queueとアプリで同じデータベースを利用することは可能だがいくつか注意点があると記されており、問題をさけるための設定として以下が紹介されています。
また、インストールにおいても単一データベース用にいくつか作業が必要になります。
なお、本件に関する日本語情報としては、Rails Guidesの日本語版に概要の記述があります。
一時的な環境変数設定はenvコマンドでも出来る
あるコマンドの実行のためだけに一時的に環境変数を設定するには、 bashやzshでは実行したいコマンドの直前で環境変数設定をすればOKです。
具体的には、下例のように、タイムゾーンに対応する環境変数を設定(
TZ=UTC
)して、date
コマンドを実行することが出来ます。ところが、この機能は一部の古いシェルや軽量シェルには備わっていないらしいです。 そのようなシェルでは、シェルに依存しない
env
コマンドを以下のように利用して同じことが可能、という小ネタでした。「Getting Started on Heroku with Rails 8.x」が「db:migrate」でエラーになる
Herokuを使ってRails 8のアプリを運用するときに手始めに試されるであろうGetting Started on Heroku with Rails 8.xですが、「Last updated November 13, 2024」の版では、
heroku run rake db:migrate
のところでエラーが出ます。原因は、Rails 8のデフォルトの新規アプリでは、Solid CacheとSolid Queue、Solid Cableが有効になっており、これら3つの機能はそれぞれデータベースを1つずつ必要とするところにあると思われます。 もう少し詳しく言うと、Rails 7まではアプリ本体の情報を記録するprimaryデータベース1つを用意してそのデータベースへの接続設定を行うだけで良かったところが、 Rails 8からはprimaryデータベースに加えて前述の3つの機能用にそれぞれデータベースを用意して設定しないといけなくなってしまっているのに、 渦中のGetting Startedにはそれに対応する作業の記述がないため、マイグレーションでエラーが出ているものと思われます。
新規リリースに伴うRailsガイドの更新の情報
Rails 8.0.1のリリースに伴い、Railsガイドが更新されました。更新内容は、Railsガイド公式による以下の記事をご参照ください。
PmRails 1.0をリリースしました。
PmRails 1.0.0をリリースしました。
PmRailsは、Ruby on Railsのアプリケーションのテストまたは開発をするためのツールセットです。 RailsやRailsが依存するものをローカル環境にインストールすることなく使用できます。 Podmanを活用し、Railsプロジェクトのための隔離されたコンテナ環境を作成します。
ご不明な点や質問などございましたら、このTopicにお気軽にお寄せ下さい。できる範囲で回答いたします。