hello-worldwebエンジニアのメモ。とりあえずやってみる。
#Rails
rails4でアプリ作成後にDBを使わないようにしたい
あまりないケースではありますがメモ。
[rails]ELB使用時にヘルスチェック用のアクションを作成する
ELBにrailsアプリをぶら下げる場合、railsアプリが落ちたらELBから外れてもらいたいです。
[rails][まとめ]Active Adminをカスタマイズしていい感じの管理画面をつくる
Ruby2.1.4, Rails4.1.7で確認。
[s3][ruby]静的ウェブサイトホスティングしたサイトのTwitter Cardsが表示されない場合の対応
先日、S3の静的ウェブサイトホスティングを使ってサイト公開を行った際に、ページ表示やFacebookのOGP表示は問題なくできるのにTwitter Cardsだけ表示されない、という現象が発生しました。
[mysql][rails]Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
mysql5.1が動いていた環境をmysql5.6にアップデートした後、rake db:createで utf8mb4のDBを作成しようとしたところ以下のエラーが発生
[mac][rails]erdを使ってER図を作成しようとしたらエラー発生
Ruby2.1.0 Rails4.1.1 で確認
[rails][rspec]特定のテスト時のみenvを変更したい場合
RSpecで特定のテスト時のみenvを変更したいということがあったのでやってみました。
[rails]Errbitでdevelopment環境でも通知したい
Railsのエラー管理に便利な errbitですが、デフォルトだとdevelopment環境では通知が来ない設定になっています。
[rails]production環境のdatabase.ymlでハマったこと(環境変数設定)
本番環境のdatabase.yml設定はセキュリティの観点からファイルにパスワードを直接記述するのではなく、以下のように環境変数経由で取得するようになっていますが、この環境変数の設定にハマりました。
[ruby][rails]sidekiqのnamespaceにハマった
sidekiq3.0.1で確認。
[rails]Springを使ってRailsコマンドを高速実行
Ruby2.1, Rails4.0.3で確認
[rails][rspec]controller testでcookieのテストをする
rspecのcontrollerテストでcookieのテストを行いたい場合、 `response.cookies['key']` でcookieの内容を取得できます。
[rails]国際化対応でlocaleを省略したURLのrouting設定
タイトルだけだとよくわからないですね サンプルサイトとして、
[rails]特定パラメータをフィルタリングしてアプリケーションログに残さないようにする
Ruby2.1.4, Rails4.1.7で確認。
[rails][mysql]Can't connect to local MySQL server through socket '/tmp/mysql.sock'
Railsアプリを起動しようとした際に `Can't connect to local MySQL server through socket '/tmp/mysql.sock'` というエラーが発生。
Hello World Resque (Railsにresqueを導入する)
Ruby2.0, Rails4で確認
[rails][mysql]テーブルのカラムにlongtextを使用する
マイグレーションファイルに:limitを指定すれば型を変更できました
[rails]fragment cacheを使ってみる
fragment cacheを使うとテンプレートの一部を部分的にキャッシュすることが可能になります。
[Rails]carrierwaveのcallbackをskip
Railsで画像アップロード機能を作る際に欠かせないgemと言えば carrierwave ですが、save時にcarrierwaveのcallbackをskipしたい場合の対応方法をメモしておきます。
[Rails]bundle installを並列で実行する
bundle installの初回実行時にすごく時間がかかっていたのですが、最新のBundler(version 1.5.1)では並列実行ができるようになったので試してみました。
Railsで小数点を含むURLのrouting設定
Rails3.2で小数点を含んだURLのrouting設定をしようとした際に、デフォルトの設定だとRoutingErrorになってしまいました。
[rails][rspec]database-cleanerを使ってredisのテストデータを削除する
今更ながら最近ちゃんとredisを使い始めました。
[rails]simple_form使用時にinputフォームのデフォルト値を設定する
単にvalueを指定すればできるかなと思ったのですが、それではダメでinput\_html内のvalueを指定する必要がありました。
[rails]carrierwaveを使って画像を保存するAPIサンプル
Ruby 2.1.4, Rails 4.1.7 で確認 画像アップロード機能を作成する際に carrierwaveをよく使うのですが毎回調べているので基本的な設定部分のメモを残しておきます。
[rails]capistrano実行時にユーザ入力によって動作を変える
capistranoでaskメソッドを使うとユーザ入力を受け付けることが可能になります。
[rails]ページにアクセスするとリクエストが2回飛んでしまう現象にハマった
開発中のRails環境でページにアクセスすると、なぜかリクエストが2回発生する現象に遭遇しました。
[rails]ActiveModelを使ったフォームのラベル名を変更する
DBには保存はしないけれど、ActiveRecordオブジェクトのようにvalidationを使いたい、という場合にActiveModelが使えます。
[rails]Rails4.1でrails new後にアプリ名を変更する
Rails 4.1.7 で確認 Rails newでアプリを作った後に、アプリ名を変えたいと思うことが時々あります。
[rails]国際化対応時にviewごとにlocaleファイルを持つようにする
localeファイルをどうやって管理しようかなと思った時に、フロントエンドのエンジニアに相談したら「viewごとにlocaleファイルを置きたい」という要望をもらったので分けてみました。
[rails]strip_tagsをcontrollerで使う場合
テンプレートのhelperメソッドにhtmlタグを除去するstrip\_tagsメソッドがあります。
[rails]bodyにclassを付けて特定のページでのみjsが動作するようにする
Asset Pipelineを使用するとjsやcssを結合してくれます。
[rails]carrierwaveを使って画像生成しようとしたらCPU使用率100%になる現象にハマった
Ruby2.1.4、Rails4.2.0で確認
[Rails]migrationで外部キーを設定する際に、参照先テーブルと異なるカラム名をつけたい場合
migration時に外部キーを設定する場合、referencesを使いますが、参照先テーブルと異なるカラム名をつけたい場合はどうしようと思い調べてみました。
Rails Application Templateを使ってみた
やろうやろうと先延ばしにしていたRails Application Templateを使ってみました。
[rails][active_admin]paranoiaで論理削除したデータを管理画面で一覧表示する方法
migrationファイルにdeleted\_atを追加することで、手軽に論理削除を実装できる paranoia
[rails]carrierwaveを使った画像投稿APIをRspecでテストしてみる
rails 4.1.7, rspec 3.1.7 で確認 先日、
[rails]find_byでもActiveRecord::RecordNotFoundをraiseしたい
ActiveRecordでfindメソッドに存在しないidを渡すとActiveRecord::RecordNotFound exceptionがraiseされます。
RSpec3で真偽値のテストをする場合の注意点
RSpec3の場合、be\_true, be\_falseによる真偽値のテストは使えなくなりました。
Railsで一時的にbefore_saveをskip
Rails3.2で確認 昨日の Railsで一時的にupdated\_atの更新をskip に続いて、 今回は、一時的にbefore\_save等のcallbackをskipする方法です。