Rails
# 更新可能なformulaの一覧 brew outdated # インストール済formulaの一覧 brew list # Homebrew自体のアップデート brew update # インストール済みのすべてのパッケージをアップデート brew upgrade # 特定のパッケージのみアップデート brew upgrade パッ…
以前やらかしたことを、またやらかしてしまったので、 再度動作できるようにするまでのメモ。 thoames.hatenadiary.jp TL;DR opensslが1.1系に書き換わってる可能性大!!!! なので以下のことをすれば直った。 1) openssl1.0をインストール 2) /usr/local/…
以下の記事を参照Railsの開発用Welcome画面をproductionでも出す - Qiita
2021年にまたやらかした。 thoames.hatenadiary.jp=============原因が何だったのか定かではないが、 恐らくXcode関係かbrew関係のコマンドを弄ったかが原因で Railsを起動しようとしたところ以下のようなエラーが表示された。 $ bundle exec rails s ... Lo…
中小企業会計ソフトの分野で、日本ではfreeeやマネーフォワードが普及しているが 海外ではQuickbooksが広く普及している。 このQuickbooks内に外部からデータをRailsアプリ経由で追加することで入力作業を省き、業務効率を上げようという話になった。前提と…
作成するmigrationファイルの処理は、1つのカラムを追加するというシンプルな処理のみを行う。 しかしdefault値は設定せず、全レコード上の作成されるカラムには、特定の値を埋め込みたいという要件があったため migration実行時にカラムを追加後、その特定…
以下が参考になった。mysql – selectクエリを使用してアクセント記号のない文字でカラムをフィルタリングする方法 - コードログ utf 8 - How to conduct an Accent Sensitive search in MySql - Stack Overflow以下のように「COLLATE utf8_bin」を付ければ良…
使用しているWebアプリの1つに Railsが管理しているDBではない、他のDBからのデータを取得する必要があった。当たり前の話だが、Railsではapplication.rbのtime_zoneの設定のため 日付取得の際に自動で、タイムゾーン変換が行われる。thoames.hatenadiary.j…
自分用メモ。大事なことは全て以下のページにあった。 qiita.com qiita.com上記の内容から重要なポイントを抜き出すと以下の通り。 1)タイムゾーンの設定 システムまたは環境変数のタイムゾーンとapplication.rb(time_zone)が同じならば、 Time.nowでもTim…
最近、設計した画面が4〜5個のモデルが絡む画面があった。 その時コントローラー内で実装した場合、肥大化することが容易に想像でき、 またどれか一つのモデル内で実装する処理としては複雑なため「サービスクラス」が必要なのではないかと思い調べてみた…
Formオブジェクトについての説明は省略。自分なりの定義方法は以下ファイル名: XXXX_form.rb クラス名: XXXXXForm 配置ディレクトリ: app/forms/[参考] 【Rails】FormObjectを使ってほしい - Qiita
サブディレクトリの作成 サブディレクトリを配置する場所は app/models内。ディレクトリ名はここでは「app/models/parents」とした。Rails4ではmodels直下しか読み込まれないので 「config/application.rb」内に以下を追加し、models内のサブディレクトリ内…
Rubyで記事をAtomAPIを使用して更新する方法としては、「atomutil」というgemを使用するのが定番のようだが いろんな記事を見てみると、新しいRubyのバージョンだと、文字エンコーディングのエラーが発生するため 「atomutil」をforkした「ruby-atomutil」と…
公式にも詳細が載っていないので調べてみた。 TL;DR 以下の3つの設定が必要。① [必須] アプリ管理側画面で、「Embedded」設定をオフにする ② [必須] config/initializers/shopify_app.rbの「config.embedded_app」をfalseにする ③ [任意] layoutファイルを…
自分用メモ。Systemctlは、Systemdを管理するためのコマンド。 Systemdは、デーモンプロセスを自動立ち上げるるために使用される。 以下のサイトが詳しい。 Systemd メモ書き いまだにsysvinitの手癖が抜けない人のためのsystemd Linux女子部 systemd徹底入…
自分用メモ Autoloadの廃止 こんな感じのautoloadがproduction環境では動作しなくなる。。。 config.autoload_paths += Dir["#{config.root}/lib/**/"] [参考] Rails5: production環境でのAutoloadの廃止
自分用メモ。そもそもアセットパイプラインのプリコンパイルとは? プリコンパイルは、複数のファイルをいっこにまとめて、圧縮して、ファイル名にフィンガープリント(ダイジェスト)をつけて、公開ディレクトリにデプロイする、などの作業と解釈してます。…
自分用メモ。1)環境変数の設定 以下の環境変数を「.bashrc」に設定。※Capistranoで読み込む環境変数の場合、.bash_profileだと読み込んでくれないため。 以下の詳細。 thoames.hatenadiary.jp①RAILS_ENV(設定しておけば、コマンドで逐一入れなくても良く…
Imagemagickはコマンドラインから画像の操作や表示ができるツール。 多くのOS及び言語から使用できるため人気がある。RMagickはRuby用のImagemagickインターフェース。 RubyからImagemagickを使用する場合は、このgemをインストールする。 Imagemagickのイン…
自分用メモ。以下のサイトがまとまっている。 capistrano3でリポジトリのURLを変更した時にやること - Qiita
【環境】 Ubuntu + Rbenv + Rails + Puma + MySQL 1)SSH周りの設定 前提 公開リポジトリの場合は、Capistranoの設定は簡単だが、BitbucketのPrivateリポジトリからcloneする場合は、SSH認証が絡んでくるため、設定が少し複雑になる。ちなみにGithubのPriva…
Rails5では以下のように書ける。 ActiveRecord::Type::Boolean.new.cast(0) # false ActiveRecord::Type::Boolean.new.cast(1) # true ActiveRecord::Type::Boolean.new.cast('0') # false ActiveRecord::Type::Boolean.new.cast('1') # true ActiveRecord::…
自分用メモActiveJob経由か、直接使うかは 以下の記事で詳細を書いた。 thoames.hatenadiary.jp自分の場合は、フルにSidekiqの機能を使用したかったため 「直接Sidekiqを使用する」方法を取る。 インストール Gemfile gem 'sidekiq' gem 'redis-namespace'[…
初めてバックエンドの非同期処理を書くことになったため 良さそうなgemを探したところ、以下の3つが有名なことがわかった。・Delayed Job ・Resque ・Sidekiq色んなサイトで、各gemの説明があるので ここではその説明は省くが 自分の場合、以下の理由から・…
自分用メモ。ShopifyのWebhookの使い方については 既に素晴らしいまとめをしてくださっている方が いるので、その方のやり方を踏襲。qiita.com一点だけ追記すると、検証ロジックの「Secret Key」は 手動でWebhookを作成する場合と、AdminAPIを用いて作成する…
自分用メモ。 アプリを作成する前に前提として以下の3つの準備が必要 ①ngrokの設定 最初からサーバを用意できるのならば、それでも良いかもしれないが 自分の場合、ローカルマシンを開発サーバとして、 Shopifyから「直接」アクセスさせる方法を試す。local…
自分の用途としては、ただ画像を外部APIへ送信するため ローカルDBに保存する必要がなかった。しかし、多くのサイトを見るとCarrierwaveをActiveRecordと併せて使用する サンプル例が多いため、自分で調べてみた。 インストール Gemfileに追記 gem 'carrierw…
自分用メモ。日本語で検索しても情報が出てこなかったので ちょっと調べてみた。調べ方としてはGithubのコード検索で「 出てきたコードがどのディレクトリに配置されているのかで調査。10件〜15件ぐらい見た感じだと、大体が「lib」ディレクトリ内に入れる。…
自分の場合、英語で表示したかったの 以下を設定したが何も変わらず。失敗した例: config/application.rb config.i18n.default_locale = :en 以下を設定したら上手く表示された。成功した例: config/application.rb config.i18n.fallbacks = [:en] [参考] …
renderではなく、「render_to_string」を使用すれば良い。例)views/templates/_default.html.erbを使用する前提。 render_to_string partial: "templates/default", locals: { title: params[:title], body: params[:body] } [参考] ruby-rails.hatenadiary…