Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What is going on with this article?
@ogin_s57

Rails 開発を円滑に進めるための gem 3選

More than 5 years have passed since last update.

bullet

Gemfile
gem 'bullet', group: :development

Rails で不意に起こりがちな N+1 問題を検出してくれる gem。ステージング環境のちょっとしたデータなら問題無いけど、本番環境の膨大なデータになると一気に問題が顕在化してしまう、なんてことを予防するために入れておきましょう。

rack-mini-profiler

Gemfile
gem 'rack-mini-profiler', group: :development, require: false

controller、model、view のどの辺の処理に時間がかかっているかを教えてくれます。パフォーマンスをチューニングする時の手助けとなってくれるかもしれません。

pry−rails

Gemfile
gem 'pry-rails', group: :development

irb には無いコマンドを提供してくれたり、柔軟なコンソールを使わせてくれます。色々たくさんコマンドがあるんですが、わたしがよく使うのは次の3つです。(コンソール上で help と打つとどんなコマンドが使えるか教えてくれます。)

(1)hist(履歴の表示)

pry(main)> hist
 1: help
 2: show-routes
 3: show-source User

(2)show-source <クラス名>(ソースの表示)

pry(main)> show-source User

class User < ActiveRecord::Base
  belongs_to :company
   :
   :

※エイリアスが割り当てられているので $ User としても同じ結果が得られます。

(3)show-model <モデル名>、show−models(モデルの情報を表示)

特定のモデル情報を表示
pry(main)> show-model User
User
  id: integer
  created_at: datetime
  updated_at: datetime
  name: string
  nickname: string
      :
      :
全てのモデル情報を表示
pry(main)> show-models
User
  id: integer
  created_at: date
      :
      :

Company
  id: integer
  created_at: date
      :
      :
10
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ogin_s57
heartrails
ハートレイルズは、新規事業の立ち上げに伴うウェブサービス、スマホアプリの企画、開発、運用に特化した開発会社です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
10
Help us understand the problem. What is going on with this article?