Ruby on Rails

Rspecの書き方を先輩たちに質問してみた話

コードリファクタリング中にテストを書こうと思ったのですが、ふと考えたら私のRspec冗長な気がする…!と思い、会社のSlackで先輩方にRspecの書き方を質問してみました。 ちなみに私が書いていたテストコードはこんな感じ。 describe 'hoge_method' do conte…

解決済み:cancancanでread権限を設定してもあるページが閲覧できない

2016/5/18に解決しました。 原因と解決方法は下部に記載しています。 やろうとしていること CanCanCanという権限管理のgemを使用し、権限ごとにModelの操作に制限をつけようとしている。 GitHub - CanCanCommunity/cancancan: Continuation of CanCan, the a…

railsについて、先輩にもらったアドバイスまとめ(その1)

最近はRuby on Railsで社内システムを作っています。 その中で先輩からもらったアドバイスやレビューで受けた指摘をまとめます。 new()はいらない hoge = Hoge.new() は hoge = Hoge.new でよい。 (Rubyは短く楽に書けるときは楽をするのじゃ!) is_availabl…

rspecのテストでカバレッジが計測できるgem、SimpleCovを導入する

テストを書くならカバレッジ計測と行単位で通った・通ってないの確認ができたらいいな、と思っていたら @tmtms さんより「SimpleCov」を教えていただきました。 GitHub - colszowka/simplecov: Code coverage for Ruby 1.9+ with a powerful configuration l…

rspecでのテストがちょっと楽しくなるgem、nyan-cat-formatterを導入する

テストの待ち時間&結果確認がちょっと楽しくなるgemです。 GitHub - mattsears/nyan-cat-formatter: Nyan Cat inspired RSpec formatter! 導入手順 Gemfileに「nyan-cat-formatter」を追加 group :development, :test do # Call 'byebug' anywhere in the c…

とりあえずユーザー管理と認証を実装したいのでdeviseを使う

自力で実装する心の余裕が消えたのでdeviseを使うことにしました。 もうすでにあるものはガンガン使おう!そうしよう。 インストールや設定手順は下記リンクを参照しました。 Rails 4.2 で ユーザー管理・認証 (devise) - Qiita Railsのログイン認証gemのDev…

N+1問題を検出してくれるgem、bulletを導入する

Railsで作ったプロジェクトを開発環境で動かしていくと、ある一覧ページを表示する度にすごい量のSELECTが発行されているように見え、先輩に相談! 「N+1問題」というものを教えていただきました。 N+1問題 / Eager Loading とは - Rails Webook 解決策 以下…

素敵なgem、rails_best_practicesを導入する

先輩のアドバイスを受け、Railsのベストプラクティスに従っているかを確認できるgemを導入しました。 手順 Gemfileにrails_best_practicesを追加(今回は開発環境だけで使用する) group :development do # Access an IRB console on exception pages or by us…

rails newの先輩オススメ手順

railsプロジェクトを新しく作成する際に実行する「rails new」のオススメ手順を、会社の先輩に教えていただいたのでメモ。 前提 Rubyインストール済み アプリケーション名:rails-app-name 手順 railsアプリケーション用のディレクトリを作成する。 →作成し…

新しいRailsプロジェクトを作成する

何も思い出せなかったので、自分のメモ用です。 こうしたほうがいいよって部分があれば教えていただきたいです。 前提 rbenvを使用している 既存のRailsプロジェクトとは違うバージョンのRailsを使用する Ruby2.3.0+Rails4.2.5を使用する 作成するアプリ名…