rails
rails4.1にupdateしてからrspecを実行した時に以下のエラーが出た。 warning: you should require 'minitest/autorun' insteadこれの対処方法としては、 require 'minitest/autorun' をspec/spec_helper.rbに追加。 そうするとwaringがなくなるはず。 またsh…
Rails4.1からviewの切り替えをする仕組みが組み込まれました。 今まではJpmobileなど使ってやったと思います。ですが、今後は今回追加されたこの機能を使うことになると思います。1.before_actionに読み込ませるメソッドにuser agentをチェックするロジック…
アプリで表示する画面を作成するためにAnuglarJS、yeomanを使ったものを現在作成中です。 とは言え、まだ良く分かってない。 先日の日記でも書いた通り、こちらを参考にしているで、まずはRailsのroot直下にngappと言うフォルダを作成し、ngapp配下にgruntjs…
HerokuのアドオンでGraphDBというのがあって、それを試してみようと思った。 まずはローカル環境でということで、GrapheDB(Neo4J)を自分のMacに入れてみた $ bew install neo4j ・・・・・・・途中省略・・・・・ ・・・・・・・・・・・・・・・・ => Cavea…
自分が作成したアルバムアプリの画面周りを改善したくcompass/bower/gruntsJSを使っていこうと思い調べている。 で、取りあえずcompassを使う環境設定までのメモを残す。 とは言え簡単なんだが・・・。まずはGemfileに以下を追加 gem "compass-rails", githu…
先日paperclipをバージョン4にアップデートしたら、今まで通っていたテストが失敗した。 ので、factory_girlを使っている場合、どう書くのが良いのか調べた。まずpaperclipを4にしてからcontent_typeのチェックを行うバリデーションをhas_attached_fileの後…
今更ですが、factory_girlでテストを書く時の記述例を示します。 18 require 'spec_helper' 19 20 describe User do 21 22 let!(:user1) { FactoryGirl.create(:current_user) } 23 let!(:auth_provider1) { FactoryGirl.create(:current_user_auth_provider…
pumaをherokuで使う方法を書いておきます。1,gemファイル編集 Gemfileに以下を追加 gem 'foreman' gem 'puma' 2.Procfileを編集する web: bundle exec puma -t ${PUMA_MIN_THREADS:-8}:${PUMA_MAX_THREADS:-12} -w ${PUMA_WORKERS:-2} -p $PORT 3.herokuにデ…
railsのアプリケーションサーバとして最近業務ではunicornを使っている。が、pumaを使った事がなかったので、ちょっと試しに使ってみようと思いやってみた。まずはインストール gem 'puma' bundle install --path vendor/bundleで次に設定ファイルを作成。co…
この前のブログでモデルのビジネスロジック層を分ける記事書きましたが、あれから色々見て改めて考えた。 で結論service層を設けてユーザ登録部分を移した。 1 class UserRegister 2 3 def find_user_by_provider_and_uid 4 @auth_provider = AuthProvider.w…
Rails4から導入されたconcernsを使うという方法もあるが、これは「他のモデルにまたがる処理があるときそれを分割する」場合に使うということらしいので、単純にモデルに色々な処理が入り過ぎたり、重複が沢山あってそれを整理するという場合には適用し辛い…
Rails3では、first_or_createというメソッドがありましたが、Rails4からはfind_or_create_byというメソッドを使います。 例として、次のように書きます。次の例はUserテーブルに対しemailで検索して、データがあればそれを返しなければ登録します。 User.fin…
Rails4でコントローラのメソッド実行前に何か処理を挟みたい場合、次のように書きます。 #処理を入れる before_filter login? #処理を入れたくない場合 skip_before_action :login?, :only => [:new, :create, :destroy,] 取りあえずメモということで
Rails4系からjson形式のデータを返すのにJbuilderというgemを使うことがデフォルトになりました。ので軽く使ってみました。 def my_list @photos = User.find(params[:user_id]).photos.page(1).per(5) render json: @photos end 続いて対応するview側のソー…
Paperclipを使って画像アップロードしている場合、コントローラのテストをどう書いたら良いのだろうか。今回はspec/fixtures以下にテスト用の画像があるとして、その書き方例を書く。 require 'rack/test' describe PhotosController do describe "photo 投…
rails4ではデフォルトでセッションをクッキーで管理します。で、memcachedで管理したい場合は、次のようにdalliを使います。 # memcached client gem 'memcachier' gem 'dalli' 今回herokuに最終的にアップしようと思います。その際使うmemcachedアドオンと…
Railsでロジック部分をモデルに書くようにしているとモデルがFatになってきます。 Rails4では、そういう場合にconcernsにコードをうまく分割してモデルをスリムにすることができます。この方法はRails3でも出来るのですが、Rails4からプロジェクト生成時にco…
今日凄く寒いですよね。 昨日調べていたgemで まだ使ってないけど使ってみたいgem 調査中のgem をここにメモ draper viewのロジックを分離する quiet_assets assets関連で出力されるログを抑える。(ログが奇麗になり、みやすくなる) foreman バックグランド…
最近凄く寒くなってきましたね。何か新しいことを学ぼうと日々思っているのですが、今日はrailsのgemについてです。 今回はプロファイリングツールとして使えるspeed_gunの使い方についてです。 まずGemfileをに追記してます。 gem 'speed_gun' 続いてbundle…
Rails4からpageキャッシュなくなるなどキャッシュの部分が変わったので、Rails4でキャッシュ(fragmentキャッシュ)を使う場合についてざっと調べたのでメモ。 cache_digestsを使います。 これを使わないとテンプレートに変更があってもキャッシュが削除されま…
最近会社でもHubotを使う機会がありましたので、HubotをHerokuで使う場合の手順を書いておきたいと思います。前提としてCampfireとherokuへアカウントを登録しておく必要があります。campfireへは自分用とhubot用の二つのアカウントが必要です。 では、手順…
Rails + Paperclipで画像アップロードが出来ますが、複数の画像を一気にアップロードしたい場合があると思います。その場合はjquery-upload-railsを使うといいと思います。使い方はgithubページに書いてあるので分かると思いますが、一点注意が必要です。以…
Railsでrspecを実行するときに実行時間を短くするための試みを昔 rspec guard spork を使ってやっていました。今回はsporkでなくspringを使ってみます。Gemfileを以下のようにします。 group :test do gem 'rspec' gem 'rspec-rails' gem 'simplecov', requi…
Rspecのテストでshoulda-matcherを使うとテスト結果の確認が楽。 なので、使い方をメモっておくために、まずはcontroller側のサンプルを載せる 1 require 'spec_helper' 2 3 describe AlbumsController do 4 fixtures :users 5 fixtures :albums 6 fixtures …
Bowerを使ってJavaScriptのパッケージ管理をしたく調べたので書いておきます。まず、bowerのインストール $npm install -g bower続いてRails側の設定ですが、bower-railsを使います。その際jquery-railsはコメントアウトしておきます。 #gem 'jquery-rails' …
AngularJSとrailsの連携に関するメモです。参考は以下のサイトを参考にしましたAngularJS on Rails 4 - Part 2まずはRailsプロジェクトを作成しておく。 Gemfileには今回AngularJSと連携するためにangular-gemを追加しておく。 gem 'angular-gem' ちょっと前…
暫く書いていなかったな。 最近凄く寒くなって、冬苦手だなと思い始めました。この前までは「冬好きです」と言ってたのに。。さて、今年の6月にRailsとHerokuとの連携について発表させていただきましたが、その後色々やったので、続きとして幾つかナレッジを…