AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

Rails

passenger がクラッシュした

めっちゃ古いミドルウェア構成の環境で、 passenger がまれにクラッシュする、という問題があって調査していた。 github.com こういう事があるらしい。 解決策としてアップデートしろ、ということっぽいが、ミドルウェアのバージョンやらなんやら古くないと…

haml で link_to 記述時に onclick に asset_path を利用する方法

なろう系のタイトルみてーになっとる。 ロケ地 Rails 5.1 printJS 何がしたかったか PDF を printJS で印刷させるリンク設定したかった。 ただし対象の PDF は asset:precompile で MD5 digest が付与されている。 静的なファイルを指定する場合 #{RAILS_ROO…

CircleCI の MySQL コンテナが落ちた

ロケ地 CircleCI MySQL 5.7.33 CI がコケる ドキュメント更新してシェルスクリプト追加しただけで落ちたので「絶対にワイのせいじゃない!」という顔で details を見てた。 2021-03-19 02:30:57+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Ser…

Rails のコネクションプール数

基本的に Rack サーバの Worker 数と同じにするべき。 qiita.com Puma Web サーバー​を使用している場合は、pool​ 値を同等の ENV['RAILS_MAX_THREADS']​ に設定することをお勧めします。複数のプロセスを使用している場合は、各プロセスに独自のプールが含…

credentials.yml.enc をやめる

なんかこれも前に書いた気がするな。 #{RAILS_ROOT}/config/credentials.yml.enc は master.key が無いと復号化できなく欠けた状態では動きません。 master.key はたしか .gitignore に標準で記載されているので、何らかの手段で rails new した人が、チーム…

CarrierWave の保存先をローカル指定にする

だいたい以下の記事通り、 config.storage :file とすれば (書き換えれば) 良い。 qiita.com あとは気をつけるとしたら、 config.fog_ などで宣言している箇所を一通りコメントアウトなりしておくと安心だろうか。 もちろん AWS_ 系の環境変数も設定されない…

URI.encode した日本語ファイルへのアクセスで ActionController::RoutingError が発生する

タイトルがすべてって感じです (しろめ) 。 日本語ファイルにアクセスすると死ぬ public 以下に配置した /doc/テスト2017.pdf みたいな日本語ファイルにアクセスすると ActionController::RoutingError が発生して死ぬ。 Ruby 2.5.1 Rails 5.1.7 Passenger 5…

Capistrano デプロイする環境をシュッと作る

プロジェクト初期にしかやらないから、毎回忘れて泣きながら調べてる。 ので、備忘録を兼ねて。 ちなみにこの手順を書くにあたって、社内のナレッジ ( docbase 使ってます ) を確認していたら、退社した元 CTO 兄貴迫真のカレーレシピを見つけて「日本人だい…

delayed_job の動作ログを Rails ログファイル以外に出力する

production.log に大量の UPDATE クエリが記録されてログファイル汚染で「ウッ!」となるやつを回避する。

メールを実送信したくないが送信はされて欲しいし内容は確認したいお気持ちを delivery_method に表明する

Rails は config.action_mailer.delivery_method で、:sendmail なり指定すればサッとメール送信できるので便利で良いですね。 とはいえ、環境によっては「メールを送信したくない!」というパターンがあるので。 しかし単純に送信部分をコメントアウトなり…

whenever で cron を設定すると bundle: command not found

産業で whenever 実行するユーザの 環境変数 PATH に /usr/local/bin を追加しろ 2020/01/10 追記 以下のように whenever の設定ファイルに PATH を設定すると PATH を設定できる。 ログ出力と合わせて記述すると確認しやすくて良い、こっちのほうが楽ちんで…

Capistrano3 で複数のデプロイ先を設定する

といっても、 config/deploy/production.rb に複数 server を書いて、物理的に別のサーバにデプロイする、とかいうやつじゃないです。 複数の deploy_to を設定する これ、1つのサーバに複数のデプロイ先を用意します。 どういう時に必要かというと、1ソー…

assetの確認

今使ってるassetのdigestを確認する consoleとかで実行すればよさそう。 Rails.application.assets.find_asset(asset_name).digest blog.n-z.jp 指定したファイルのdigestを確認する このようにしたらいいらしい。 Rails.application.assets['jquery'].digest…

Sent fileで0バイトのファイルが送られてくる時

わりと忘れがち。 /config/enviroments/production.rb Apacheの場合は「X-Sendfile」、Nginxの場合は「X-Accel-Redirect」を使う。 # Specifies the header that your server uses for sending files #config.action_dispatch.x_sendfile_header = "X-Sendfi…