hello-world.jp.netwebエンジニアのメモ。とりあえずやってみる。
#Rails
[s3][ruby]静的ウェブサイトホスティングしたサイトのTwitter Cardsが表示されない場合の対応
先日、S3の静的ウェブサイトホスティングを使ってサイト公開を行った際に、ページ表示やFacebookのOGP表示は問題なくできるのにTwitter Cardsだけ表示されない、という現象が発生しました。
[rails]bodyにclassを付けて特定のページでのみjsが動作するようにする
Asset Pipelineを使用するとjsやcssを結合してくれます。
[ruby][rails]pryでデバッグする
今更ながらpryを使ったデバッグの便利さに感動したのでメモ
[ruby][rails]sidekiqのnamespaceにハマった
sidekiq3.0.1で確認。
[rails]fragment cacheを使ってみる
fragment cacheを使うとテンプレートの一部を部分的にキャッシュすることが可能になります。
[Rails]migrationで外部キーを設定する際に、参照先テーブルと異なるカラム名をつけたい場合
migration時に外部キーを設定する場合、referencesを使いますが、参照先テーブルと異なるカラム名をつけたい場合はどうしようと思い調べてみました。
[rails]ページにアクセスするとリクエストが2回飛んでしまう現象にハマった
開発中のRails環境でページにアクセスすると、なぜかリクエストが2回発生する現象に遭遇しました。
wheneverの設定をcronに反映するコマンドメモ
Rubyでcronのバッチを作成したい場合に whenever をよく使うのですが、cron反映コマンドを毎回忘れて調べているので書き留めておきます。
[RSpec][Rails]テスト時にMongoDBのデータを削除(truncate)したい
Ruby2.0, Rails4.0.2で確認
rails4でアプリ作成後にDBを使わないようにしたい
あまりないケースではありますがメモ。
Railsでsessionの有効期限を設定
Ruby2.0, Rails4で確認
active_adminでカスタムfilter(select box)を設置する
active\_adminで管理画面を作る際にデフォルトでfilterを作ってくれますが、select boxを使いたい部分がテキスト入力になっていたりします。
Rails4でTwitterStreamingAPIを使う その2
Ruby2.0,Rails4で確認
Rails4でTwitterStreamingAPIを使う その1
Ruby2.0, Rails4で確認
ActiveRecord オブジェクトをコピーする
## dupを使ってコピーする
[rails][carrierwave]jsでカメラ画像を直接アップロードする場合のextension_white_list設定
carrierwave を使うと、extension\_white\_listメソッドで拡張子によるアップロードファイルの制限をかけることができます。
[Rails]日付と時間の入力フォームにDateTimePickerを使う(bootstrap3-datetimepicker-rails)
Ruby2.1.0, Rails4.1で確認 フォームで日時を入力する際に、カレンダーを表示して入力サポートをするDateTimePickerを導入したかったので調べてみました。
Railsで小数点を含むURLのrouting設定
Rails3.2で小数点を含んだURLのrouting設定をしようとした際に、デフォルトの設定だとRoutingErrorになってしまいました。
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]carrierwaveに画像サイズ制限を追加する
Ruby2.1, Rails4.1.1で確認 carrierwaveを使って画像アップロードをする際に、画像サイズの制限をかけたい場合のメモ
Railsで定数を一元管理する(config)
Ruby2.1.4, Rails4.1.7で確認
[rails]Active Adminの編集画面に登録済みの画像プレビューを表示する
先日のActiveAdminまとめに続き今回もActive Adminネタです。
Hello World Tire (Railsにtireを導入する)
RUby2.0, Rails4で確認
[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を作成しようとしたところ以下のエラーが発生
[rails]コード品質の静的解析gem rails_best_practicesを使ってみる
パーフェクトRuby on Railsに載っていたコード品質の静的解析gem rails\_best\_practicesを使ってみました。
[Rails]マイグレーション時にUNIQUEインデックスを設定する方法(単体・複数の場合)
migrationファイルに以下のように記述
Railsで一時的にupdated_atの更新をskip
Rails3.2で確認
[Rails]bundle installを並列で実行する
bundle installの初回実行時にすごく時間がかかっていたのですが、最新のBundler(version 1.5.1)では並列実行ができるようになったので試してみました。
[rails][passenger]Redmineの初回アクセスが遅いのをなんとかする
プライベート用に使っているRedmineが異常に遅いです。
[rails]find_byでもActiveRecord::RecordNotFoundをraiseしたい
ActiveRecordでfindメソッドに存在しないidを渡すとActiveRecord::RecordNotFound exceptionがraiseされます。
RailsでOmniauthを使ってTwitterログインする
Ruby2.0, Rails4で確認
Railsでupdated_atのみ更新したい場合
Rails3.2で確認 updated\_atのみ更新したい場合、モデルを取得した後にsaveしただけではupdated\_atは更新されません。
[Rails]carrierwaveのcallbackをskip
Railsで画像アップロード機能を作る際に欠かせないgemと言えば carrierwave ですが、save時にcarrierwaveのcallbackをskipしたい場合の対応方法をメモしておきます。
[rails]whenever設定時にSettingsを呼びだそうとしたらハマった(capistrano)
cron設定を管理するのに便利なgemといえば wheneverですね。
[rails]production環境のdatabase.ymlでハマったこと(環境変数設定)
本番環境のdatabase.yml設定はセキュリティの観点からファイルにパスワードを直接記述するのではなく、以下のように環境変数経由で取得するようになっていますが、この環境変数の設定にハマりました。
[rails][rspec]database-cleanerを使ってredisのテストデータを削除する
今更ながら最近ちゃんとredisを使い始めました。
Hello World Resque (Railsにresqueを導入する)
Ruby2.0, Rails4で確認
[Rails]migration時にbigintを使用したい場合
Railsでmigrationを行う際に、intではなくbigintを使用したい場合は:limitを指定します。
[ruby][vim]Rubocopを使ってコードをチェックする
rubyのコーディングルールをチェックしてくれる rubocopをvimから自動実行するように設定しました。