hello-worldwebエンジニアのメモ。とりあえずやってみる。
#Rails
[rails][まとめ]Active Adminをカスタマイズしていい感じの管理画面をつくる
Ruby2.1.4, Rails4.1.7で確認。
[rails]ELB使用時にヘルスチェック用のアクションを作成する
ELBにrailsアプリをぶら下げる場合、railsアプリが落ちたらELBから外れてもらいたいです。
[rails]carrierwaveで保存した画像のurlを取得する
carrierwave 0.10.0 で確認 imageカラムにcarrierwaveで保存した画像を保存している場合、デフォルトのままだとだとurlメソッドを実行してもpublic以下のパスのみで http://~ が設定されていません。
[rails]base64エンコードされた画像をcarrierwaveに保存する
Ruby 2.1.4, Rails 4.1.7 で確認 前回はcarrierwaveを使ってPOSTされた画像ファイルの保存を行うAPIを作ってみました。
[rails]carrierwaveでファイル内容をもとにcontent-type判定を行う
ruby2.1.4, rails4.1.7で確認。
RSpec3で真偽値のテストをする場合の注意点
RSpec3の場合、be\_true, be\_falseによる真偽値のテストは使えなくなりました。
[rails]carrierwaveを使って画像を保存するAPIサンプル
Ruby 2.1.4, Rails 4.1.7 で確認 画像アップロード機能を作成する際に carrierwaveをよく使うのですが毎回調べているので基本的な設定部分のメモを残しておきます。
[ruby][vim]Rubocopを使ってコードをチェックする
rubyのコーディングルールをチェックしてくれる rubocopをvimから自動実行するように設定しました。
[rails]ActiveAdminとCanCanCanを使って管理画面に権限機能をつける
Ruby2.1.2, Rails4.1.5で確認
[rails]unicornでpryを使う
先日、pryでデバッグする という記事を書きましたが、こちらはrails server(フォアグランド)でアプリを立ち上げた際のデバッグ方法でした。
[rails]YouTube動画の削除チェックを行うRakeタスクを作ってみる
YouTubeは様々な理由で動画が削除されてしまうことがあるので、YouTubeを使ったサービスでは、動画の削除チェックが必要になると思います。
[rails][mysql]テーブルのカラムにlongtextを使用する
マイグレーションファイルに:limitを指定すれば型を変更できました
[Rails]migration時にbigintを使用したい場合
Railsでmigrationを行う際に、intではなくbigintを使用したい場合は:limitを指定します。
[rails][rspec]database-cleanerを使ってredisのテストデータを削除する
今更ながら最近ちゃんとredisを使い始めました。
[rails]production環境のdatabase.ymlでハマったこと(環境変数設定)
本番環境のdatabase.yml設定はセキュリティの観点からファイルにパスワードを直接記述するのではなく、以下のように環境変数経由で取得するようになっていますが、この環境変数の設定にハマりました。
[rails]whenever設定時にSettingsを呼びだそうとしたらハマった(capistrano)
cron設定を管理するのに便利なgemといえば wheneverですね。
[Rails]carrierwaveのcallbackをskip
Railsで画像アップロード機能を作る際に欠かせないgemと言えば carrierwave ですが、save時にcarrierwaveのcallbackをskipしたい場合の対応方法をメモしておきます。
Railsでupdated_atのみ更新したい場合
Rails3.2で確認 updated\_atのみ更新したい場合、モデルを取得した後にsaveしただけではupdated\_atは更新されません。
RailsでOmniauthを使ってTwitterログインする
Ruby2.0, Rails4で確認
[rails][passenger]Redmineの初回アクセスが遅いのをなんとかする
プライベート用に使っているRedmineが異常に遅いです。
Railsで一時的にupdated_atの更新をskip
Rails3.2で確認
[Rails]bundle installを並列で実行する
bundle installの初回実行時にすごく時間がかかっていたのですが、最新のBundler(version 1.5.1)では並列実行ができるようになったので試してみました。
[Rails]マイグレーション時にUNIQUEインデックスを設定する方法(単体・複数の場合)
migrationファイルに以下のように記述
Hello World Resque (Railsにresqueを導入する)
Ruby2.0, Rails4で確認
[rails]carrierwaveに画像サイズ制限を追加する
Ruby2.1, Rails4.1.1で確認 carrierwaveを使って画像アップロードをする際に、画像サイズの制限をかけたい場合のメモ
Mysql2::Error: Specified key was too long; max key length is 767 bytes limit
railsでactive\_adminのmigrationを行う際に以下のようなエラーが出ました
[rails][active_admin]paranoiaで論理削除したデータを管理画面で一覧表示する方法
migrationファイルにdeleted\_atを追加することで、手軽に論理削除を実装できる paranoia
[Rails]日付と時間の入力フォームにDateTimePickerを使う(bootstrap3-datetimepicker-rails)
Ruby2.1.0, Rails4.1で確認 フォームで日時を入力する際に、カレンダーを表示して入力サポートをするDateTimePickerを導入したかったので調べてみました。
[rails][carrierwave]jsでカメラ画像を直接アップロードする場合のextension_white_list設定
carrierwave を使うと、extension\_white\_listメソッドで拡張子によるアップロードファイルの制限をかけることができます。
[Rails]migrationで外部キーを設定する際に、参照先テーブルと異なるカラム名をつけたい場合
migration時に外部キーを設定する場合、referencesを使いますが、参照先テーブルと異なるカラム名をつけたい場合はどうしようと思い調べてみました。
[ruby][rails]sidekiqのnamespaceにハマった
sidekiq3.0.1で確認。
[rails]fragment cacheを使ってみる
fragment cacheを使うとテンプレートの一部を部分的にキャッシュすることが可能になります。
[ruby][rails]pryでデバッグする
今更ながらpryを使ったデバッグの便利さに感動したのでメモ
[rails]bodyにclassを付けて特定のページでのみjsが動作するようにする
Asset Pipelineを使用するとjsやcssを結合してくれます。
[s3][ruby]静的ウェブサイトホスティングしたサイトのTwitter Cardsが表示されない場合の対応
先日、S3の静的ウェブサイトホスティングを使ってサイト公開を行った際に、ページ表示やFacebookのOGP表示は問題なくできるのにTwitter Cardsだけ表示されない、という現象が発生しました。
ActiveRecord オブジェクトをコピーする
## dupを使ってコピーする
Rails4でTwitterStreamingAPIを使う その1
Ruby2.0, Rails4で確認
Rails4でTwitterStreamingAPIを使う その2
Ruby2.0,Rails4で確認