なべしす

独立系SI企業から完全異業種のベンチャー企業に転職、社内のITインフラを整えるべく颯爽と登場した自称天才プログラマー俺のハートフルブログ

Rails

Rails MWS APIを利用するまでの事前準備

MWSとは AmazonマーケットプレイスWebサービスの略です。 自分が販売をしているAmazon各プラットフォーム対して以下のようなことができます。 レポートの取得 出品や商品情報の更新削除などができるフィードのサブミット 商品情報の取得 などなど 詳しくは公…

Rails rubyzipでディレクトリを圧縮してダウンロードする

やりたいこと こんな感じのディレクトリを含むデータを 圧縮したい!! 使用するgem rubyzip 導入はREADMEを読みましょう。 ziprubyってのもあるから間違えないように。 rubyzipの基本的な使い方 READMEに書いてある基本的なzip作成方法は以下の通り Basic z…

Rails Stripe サブスクリプション決済実装 プランの登録

概要 Stripeでのサブスクリプション決済実装をRailsで行う場合、 公式で提供されているgemを使用することになると思います。 前回はAPIを使うまでの事前準備を記事にしました。 oredeki.hatenablog.com 今回はサブスクリプションプランをStripeに登録する方…

Rails Stripe サブスクリプション決済実装 初期設定をしてAPIを使える状態にする

概要 Stripeでのサブスクリプション決済実装をRailsで行う場合、 公式で提供されているgemを使用することになると思います。 実装に当たって Stripe::Plan.create() Stripe::Customer.create() のようなAPIメソッドを使用していくことになるのですが、 今回…

Rails Ransack sort_linkが使えない統計カラムなどをソートするヘルパーを作ってみた

事実確認とやりたいこと Ransackのsort_linkでは統計カラムのソートができない Railsプロジェクトにおいて検索機能を「Ransack」というgemを使って作成している場合、 sort_link()というヘルパー一発でソート機能を実装できます。 しかし、それは単にModelに…

Rails migration decimalカラムをデフォルトで作成すると小数点以下が0桁になるから気をつけよう

decimalをデフォルトで作成すると小数点以下が入力できない 例えば重さを保存するカラムを作る場合はmigrationファイルにこんな感じで書きますよね? class CreateHoges < ActiveRecord::Migration[5.1] def change create_table :hoges do |t| t.decimal :w…

Rails 多言語化対応 Model編

はじめに 今後のサービス化していくシステムは多言語化対応が必須となってきます。 なので、多言語化の方針と記述方法を簡単にまとめたので目を通してください。 View編を先に一読ください↓ Rails 多言語化対応 View編 参考サイト 以下のサイトを参考にしま…

Rails 多言語化対応 View編

はじめに このグローバル社会! 開発するサービスによっては多言語化対応が必要になりますよね? 今回自社の開発で多言語化対応をしたので簡単ではありますが導入を紹介します。 View編を先に一読ください↓ Rails 多言語化対応 View編 参考サイト 以下のサイ…

Rails kaminariを使用したページネーションにBootstrapデザインを適用させる

前提環境 RoRプロジェクト プロジェクトにBootstrapの環境が整っている プロジェクトにkaminariでページネーションが生成できる環境が整っている kaminariを用いたページネーションのソースはとてもシンプル <%= paginate @pagination %> このどこにBootstra…

Rails MySQLを使用するアプリケーションでMSSQLServreにも接続する

カオスじゃないかこれは 前提条件 新アプリケーションではRails + MySQLを使用する。 既存のアプリケーションはSQLServreを使用している。 SQLServreはWindowsServerに配置されている。 実現したいこと 新アプリケーションで登録があった場合、 新アプリケー…

Rails migrationでintegerを使う時の注意点〜integerのlimitはバイト数だった〜

limitの定義に注意 マイグレーションファイルでintegerのカラムにlimitを定義する際に注意しないといけないことがある。 integerのlimitとstringのlimitでは意味合いが違う 例えば以下のように記述する。 t.integer :num, limit: 11, null: false, comment: …

Unicorn+Nginx+Rails サーバが起動できない場合の対処法

事象 Unicorn+Nginx+Rails サーバが起動できない 以下のコマンドでエラーとなった bundle exec unicorn_rails -c config/unicorn.rb -E development -D エラー内容は以下 F, [2017-06-14T16:45:08.020588 #20655] FATAL -- : error adding listener addr=/pr…

RSpecをRailsプロジェクトに導入する

はじめに 弊社プロジェクトでRSpecを導入することになったので、 そのノウハウをとりあえず共有。 必須設定 基本的にGemを追加するだけで使用可能 Gemの追加 group :development, :test do gem "rspec-rails" gem "factory_girl_rails" gem "guard-rspec" ge…

初心者向けにライブコーディングしようかなと思いますねえ

男子中高生がなりたい職業の1位が「Youtuber」を抑えて「ITエンジニア」らしい。 www.itmedia.co.jp なるほど。 ウェルカムですよね。 中高生がITエンジニアにどんなイメージを持っているのか知らないですが、 SIer系ではなく本当のエンジニアに向かっていっ…