hello-world.jp.netwebエンジニアのメモ。とりあえずやってみる。
#Rails
railsとsinatraの使い分け
sinatraでアプリを作っていたら、色々機能が足りなかったので継ぎ足し継ぎ足しで色々増やしていったら結局railsのようなもの、になってしまいました。
[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]omniauth-twitterで大きいサイズ(bigger)のプロフィール画像を取得する
ruby2.1, rails4.1.1で確認 omniauth-twitterを使ってtwitter認証を行った際にプロフィール画像を取得したかったのですが、デフォルト設定だと、`auth['info']['image']` に入ってくる画像URLの画像サイズが小さいので、大きい画像を取得するようにしました。
[rails]erbとunderscore.jsを一緒に使ったらundefined local variables in templatesエラーが発生
erbのテンプレート内にunderscore.js用のテンプレートを記述していたら
[rails]国際化対応時にviewごとにlocaleファイルを持つようにする
localeファイルをどうやって管理しようかなと思った時に、フロントエンドのエンジニアに相談したら「viewごとにlocaleファイルを置きたい」という要望をもらったので分けてみました。
[rails]国際化対応でlocaleを省略したURLのrouting設定
タイトルだけだとよくわからないですね サンプルサイトとして、
[rails]Springを使ってRailsコマンドを高速実行
Ruby2.1, Rails4.0.3で確認
[rails]simple_formでモデルを使用しない場合
sns認証機能のあるモックを作っていた際に、最初はsimple\_formを用いて以下のようにUser情報を更新するフォームを作成していたのですが、
[rails]simple_form使用時にinputフォームのデフォルト値を設定する
単にvalueを指定すればできるかなと思ったのですが、それではダメでinput\_html内のvalueを指定する必要がありました。
[rails]routes定義をブラウザで確認する
今頃知ったのですが、Rails4から rake routes で見れるroutes定義をブラウザからも見れるようになったんですね。
[rails]helperをview以外で使う場合(rails console)
helperをviewではなくcontrollerで使いたいことがあったので調べてみました。
[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'` というエラーが発生。
[rails]carrierwaveで特定のuploaderだけ別のs3バケットを使いたい場合
carrierwaveの保存先にs3を使用する場合、config/initializers/carrierwave.rb にs3の設定を書くと思いますが、 特定のuploaderだけ普段とは別のs3バケットを使いたい場合どうやるのかを調べてみました。
Rails Application Templateを使ってみた
やろうやろうと先延ばしにしていたRails Application Templateを使ってみました。
[Rails]ActiveAdminでCSVダウンロード機能をカスタマイズする
ActiveAdminにはcsvダウンロード機能がデフォルトついているのですが、デフォルトのままだと一括でcsvデータを取得することができません。(管理画面表示1ページあたりの表示件数分になるので30件しか取得できませんでした)
OmniAuthで認証した後に、tweetしたりfollowしたりする
昨日、 RailsでOmniauthを使ってTwitterログインする方法をまとめました。
Railsで一時的にbefore_saveをskip
Rails3.2で確認 昨日の Railsで一時的にupdated\_atの更新をskip に続いて、 今回は、一時的にbefore\_save等のcallbackをskipする方法です。
[rails][bootstrap]Rails4.1でBootswatchを試すと variable @zindex-modal-background is undefined エラーが発生
Ruby2.1.4, Rails4.1.7で確認
[rails]carrierwaveを使って画像生成しようとしたらCPU使用率100%になる現象にハマった
Ruby2.1.4、Rails4.2.0で確認
[rails]strip_tagsをcontrollerで使う場合
テンプレートのhelperメソッドにhtmlタグを除去するstrip\_tagsメソッドがあります。
[rails][rspec]特定のテスト時のみenvを変更したい場合
RSpecで特定のテスト時のみenvを変更したいということがあったのでやってみました。
[rails][rspec]controller testでcookieのテストをする
rspecのcontrollerテストでcookieのテストを行いたい場合、 `response.cookies['key']` でcookieの内容を取得できます。
[rails]Active Adminのformでjp_prefectureを使う
都道府県データを扱う際に、都道府県マスターデータをどうしようかなと思っていたところ、 chocoby/jp\_prefectureというgemを発見し、こちらを使わせていただきました。
[rails]Errbitでdevelopment環境でも通知したい
Railsのエラー管理に便利な errbitですが、デフォルトだとdevelopment環境では通知が来ない設定になっています。
[rails]capistrano実行時にユーザ入力によって動作を変える
capistranoでaskメソッドを使うとユーザ入力を受け付けることが可能になります。
[rails]ページにアクセスするとリクエストが2回飛んでしまう現象にハマった
開発中のRails環境でページにアクセスすると、なぜかリクエストが2回発生する現象に遭遇しました。
[rails]unicorn設定ファイルと起動スクリプトのメモ
unicorn設定は毎回同じことを書いている気がするのでメモしておきます。
[js]jQueryのajaxで画像(ファイル)アップロードをする
以前作成した画像アップロードAPIを使うサンプルを作ろうと思い、jQueryを使ってajaxで画像アップロードをやってみました。
[rails]特定のcontrollerではbefore_actionをskipしたい
Ruby2.1.4, Rails4.1.7で確認。
[rails]Strong Parametersでhashを許可する場合のやり方
Rails4.1.7, Ruby2.1.4 で確認。
[rails]脆弱性の静的解析ツールgem brakemanを使ってみる
パーフェクトRuby on Railsに載っていた脆弱性の静的解析gem brakemanを使ってみました。
[rails]コード品質の静的解析gem rails_best_practicesを使ってみる
パーフェクトRuby on Railsに載っていたコード品質の静的解析gem rails\_best\_practicesを使ってみました。
[rails]carrierwaveを使った画像投稿APIをRspecでテストしてみる
rails 4.1.7, rspec 3.1.7 で確認 先日、
Railsで小数点を含むURLのrouting設定
Rails3.2で小数点を含んだURLのrouting設定をしようとした際に、デフォルトの設定だとRoutingErrorになってしまいました。
[rails]ActiveModelを使ったフォームのラベル名を変更する
DBには保存はしないけれど、ActiveRecordオブジェクトのようにvalidationを使いたい、という場合にActiveModelが使えます。
[rails]cap deploy時に複数のAuto Scalingグループにもデプロイしたい
先日、AWSのAuto Scallingを使った際に、cap deploy時にAuto Scaleインスタンスにも自動でデプロイできるようにする必要があったので調べたところ、
[rails]Active Adminでcsv, xml, jsonのダウンロードリンクを非表示にする
デフォルトで付いているダウンロードリンクではなく、独自のcsvダウンロード機能を追加することがほとんどなので非表示にしています。
[rails]omniauth-google-oauth2を使ってGoogleアカウント認証をやってみる
これまでomniauthを使ったtwitter認証やfacebook認証は何度かやったことがあったのですが、Google認証はやってなかったので、「 omniauth-google-oauth2」を使ってGoogleアカウント認証をやってみました。