rails
環境 Rails 5.1 やりたいこと 普通、RailsのModelはapp/model以下に予め記述するが、特殊な例で動的に生成させたい場合 最初はメタプログラミングでいけるやろって思ったけど、 > mymodel = Class.new(ApplicationRecord) => #<Class:0x007f8e422a3668> (call '#<Class:0x007f8e422a3668>.connection' to esta</class:0x007f8e422a3668></class:0x007f8e422a3668>…
久々のRailsネタ 今回やりたいのはActionMailer経由でのメール送信時に送信先のログを吐きたい。 ActionMailerにはObserverというトリガー?的な機能があるのでそれにhookする感じで まずはログ出力先の設定 config/application.rbに追記 config.mail_logger…
環境 Rails 5.2 要点 今までのsecrets.yml および rails secrets:xxxx方法は非推奨 今後は rails credentials:edit で秘匿情報の編集ができる 暗号化されたファイルはconfig/credentials.yml.enc 複合キーはconfig/master.key もちろん.gitignoreされている…
Railsで posts_url みたいにヘルパーを使ってルーティングからURLを生成する際、デフォルトだとhttpsならhttpsで、httpならhttpのURLになるが、 明示的にhttpsにさせたい場合、 <%= link_to 'りんくだよ', posts_url(protocol: 'https') %> でいける。 どう…
railsネタです kaminariが重い kaminariとは言わずと知れたRubyのページネーションライブラリ。Railsとの親和性が非常に高く、ソースコードをちょちょっと弄るだけで難しいページネーションが作れる。 が、ページネーション対象のデータの件数が多いと(10…
Bootstrapではalertというクラスが用意されている。 <div class="alert alert-primary" role="alert"> This is a primary alert—check it out! </div> <div class="alert alert-secondary" role="alert"> This is a secondary alert—check it out! </div> <div class="alert alert-success" role="alert"> This is a success alert—check it …</div>
毎回忘れるのでメモ cookies.delete :my_key, domain: 'example.com'
環境 Rails 5 やること gmailのアカウント使ってSMTP経由でメール送信 もちろん無料 やらないこと ActiveJobによる非同期処理 Googleアカウント どうやらセキュリティ的に厳しくなったのか、Googleアカウントの2段階認証の設定をしていないと他人にメールが…
環境 rails 5 症状 pkill puma しても死ななかった これで死ぬはず pkill -9 puma が死なないだと??????? 結局以下で死んだ pkill -9 -f puma puma強すぎでしょ
発端 普段はRailsのデプロイにcapistrano3を使ってるんだが、デプロイしてもCSSとJSが読み込まれずに404に。。 よく見るとassets/imagesに入れた画像も404に。ローカル環境だともちろん正しく表示される。でも、Capistranoのログをよく見ると、そもそもasset…
ActionCableはwebsocketを使うので通常のRailsと設定が違う。たくさんコケる要素があるのでそのメモをまとめた。 環境 Rails 5.0.3 puma Redisは今回使わない nginxの設定 upstream puma-realtime { server unix:///var/www/realtime/shared/tmp/sockets/pum…
Capistrano経由で操作する場合 一番楽ではある bundle exec cap production puma:start bundle exec cap production puma:stop bundle exec cap production puma:restart サーバーから操作する場合 すべて/var/www/html/myrails/currentのようにcurrentディ…
irb(main):001:0> require 'digest/sha2' => true irb(main):002:0> Digest::SHA256.hexdigest "hogehoge" => "4c716d4cf211c7b7d2f3233c941771ad0507ea5bacf93b492766aa41ae9f720d" 書いてて思ったけど別にRailsじゃなくてもPure rubyでもいける あとrails…
2019年2月15日追記 釘を差された RailsのTime::DATE_FORMATS[:default]は変更しないほうがいい - Qiita 要はデフォルトをいじるな、と。確かに「なるほど」以上の感想が出なかったので Time::DATE_FORMATS[:custom] = '%Y/%m/%d %A' Time.zone.now.to_s(:cus…