LoginSignup
0
0

More than 1 year has passed since last update.

railsでjson出力するときの小技

Posted at

railsで処理を書いているとき、renderを使用してjsonで処理結果だったりDBのデータを返すことがあると思います。
そんなときに習った小技をメモしておきます。

書き方

処理はcontrollerのindexメソッドとかに書くと思います。
でも小技としてはmodelに処理を書きます。

event.rb
def adjust_json
    {
      event: {
        id: self.id,
        user_id: self.user_id,
        category_id: self.category_id,
        name: self.name,
        description: self.description,
        is_public: self.is_public,
      },
      dates:
        self.dates.map do |date|
          {
            id: date.id,
            at: date.proposed_at
          }
        end
    }
end
events_controller.rb
def index
    render json: event.adjust_json
end

ファットコントローラーとかの概念的にもコントローラーに書く処理は少なくするってのがいいらしい。
今回書いた処理は親テーブルと子テーブルの関係の関係があってそのデータも引っ張ってくる。子テーブルから複数レコードの値を引っ張ってくるのはmapメソッドを使って引っ張ってくる。

参考URL

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0