Rails
概要 Rails サーバからショートメールを送信する方法。 http://qiita.com/kidach1/items/cd63063fa98aaa5030bd 記事を残してくれている方がいるので、この記事を元にショートメールが送信できるまでを試す。 Twilio アカウント作成 http://twilio.kddi-web.c…
概要 ActiveAdmin で作った管理機能でフォームの更新内容を Ajax で反映させるときの方法をまとめる。 coffee script でガリガリ書かないといけないこともあるが、単純にデータの保存・上書きであれば下記の方法で大体はいけるはず。 準備 Gemfile の編集。 …
概要 Rails4.2 の環境へ ActiveAdmin を導入してみる。 有名な gem だと思われるが、業務で扱ったことがなかった。 業務で利用することになったので、導入方法や簡単な設定までをまとめておく。 前提 下記で Rails の環境が構築済みとする。 Ruby2.2.2 rvm 1…
概要 Rails で WEB 画面からのキックでジョブをバックグラウンドで実行するときどうするか。 例えば、メール送信・画像変換・CSVアップロードによる大量SQL実行など。 そんなときはバックグラウンドで非同期にジョブを実行してくれる便利な gem がある。 Rai…
概要 Rails や Padrino の案件に関わってきたが、全て Apache + Passenger の構成で動作させていた。 最近では、Nginx + Unicorn で動作させているという話しをよく聞くので、環境作りを試してみる。 前提 Rails4.2 をインストール済み bundler を使っている…
概要 Rails4.2 で新規プロジェクトを立ち上げることになったらテストをどうしようか。 現時点で考えうる全部入りを試してみようと思う。 導入する gem やライブラリは下記。 Rspec Ruby向けテストフレームワーク Capybara WEBアプリケーションのテストを補助…
概要 外部サイトをテストしたい!なんてことはほとんどないが、 スクレイピングだったりで外部サイトに依存する場合に検知できる方法ないかと思い、 Rspec + Capybara + Poltergeist で外部サイトをテストしてみた。 準備 ruby-2.1.3 bundler をインストール…
概要 Rails でページング処理といえば、kaminari だと思う。 amatsuda/kaminarigithub.com kaminari で Ajax のページングもできるようだが、 AdventCalendar - kaminari徹底入門 - Qiita jQuery の DataTables プラグインと連携して、ページング(一覧画面)…
概要 とあるプロジェクトで Rails 3.2 + MySQL 5.5 を利用してる。 管理画面の機能追加と改修をしているのだが、 ある機能の一覧ページが重くて開かないと報告を受けた! 1台しかない MySQL サーバが落ちて、 サービスに支障が出たことが何度かあるらしい。 …
微妙な環境だけど、作業メモ。 bundler (1.7.11) rails (3.2.19) rmagick (2.13.3) など。 Gemfile に下記のように指定。 ... gem 'rmagick', '2.13.3' ... bundle install 実行した結果、下記のようなエラー Gem::Installer::ExtensionBuildError: ERROR: F…
実装例 class Kuso < ActiveRecord::Base has_many :unchis validate: buriburi_unchis def buriburi_unchis errors.add(:unchis, "oops!") if unchis.size > 1 end end ポイントは unchis.size。 以前記事にした Railsで階層化された複数モデルに対応するフ…
今回はフォームに「追加・削除」ボタンを設置し、それらをJavascript/CoffeeScriptと連携して動的にする実装をする。 前回の静的な実装までは↓から。 Railsで階層化された複数モデルに対応するフォームの作り方 - Shred IT!!!!jetglass.hatenablog.jp タスク…
Rails4.1.8 での自分用メモとして記事にしておく。 業務でモデルの階層が深いけど、1画面でフォームを作らなければならなかったので、簡略化した形で記事にまとめる。 記事は2つに分かれていて、 最初に書いたこの記事は Rails 側で行うべき基本的なことを…