Railsで使えるGem

Rails4でのJSONテンプレート~jbuilder+rabl+ruby

投稿日:

By: WonderlaneCC BY 2.0[/caption]

Rails4からJSONも標準でjbuilderを使ってテンプレートから出力できるようになった

けど、しっくり来ないので簡単に比べてみた

以下の例はすべて次のようなJSONを返すテンプレート

 

 

jbuilder

github.com/rails/jbuilder

#320 Jbuilder

jbuilderでは、jsonオブジェクトから始まる

jsonオブジェクトは、基本的に、キーをメソッドにして、値をバリューに取る

たぶんmethod missingってやつだと思う

そのほかにextract!みたいなrailsのメソッドも使える

extract!はこういうふうにも書けるみたい(Ruby1.9以降)

たぶんいちいちjsonオブジェクトを使うのと、ヘルパーメソッドとJSONキーを同じように扱うというのが違和感なのかもしれない

xml builderというgemと揃えているっていうことなので、そちらに馴染みがある人にはいいのかもしれない

jbuilderで良い感じのハッシュ形式のJSONを返したいならこれだけ押さえておけば大丈夫かも

github.com/cimm/dotvim/blob/master/ftdetect/jbuilder.vim

Rails Jbuilderのあまり知られてないかもしれない?メソッド3選

 

rabl

Backbone.jsのためにRails3.2でJSON APIをつくる~RABL

github.com/nesquena/rabl

#322 RABL

rablは前にやったので、なんとなくやろうとすることはわかる

rablのGitHubのスター数は1994、これに対してjbuilderが938だから、まだrablの方が人気があるのかもしれない

 

ruby

#379 Template Handlers pro

Rails4からは.rubyというテンプレートでrubyコードをそのままテンプレートとして使えるようになった

なんとなく、これが一番わかりやすかったりする

複雑になると可読性が落ちるのかもしれないけど

 

*もちろんerbでもjsonを書けるけど、あまりうまく書けない

Railsでajaxなテーブルを使う~datatables

-Railsで使えるGem
-,

執筆者:

関連記事

backbone-railsのscaffoldで生成されるコードでルーティングとCRUDの処理をどうやってるのか読んでみた

By: asobi tsuchiya   目次1 はじめに2 サンプルの準備3 初期化4 ルーター5 READ6 CREATE7 UPDATE8 DELETE はじめに backbone-r …

Rails4とBootstrapをつかった動的なナビゲーションとパンくずリスト〜acts_as_nested_set

By: anko.gaku_ula – CC BY 2.0 目次1 Railscast2 acts_as_nested_set3 ヘッダーnav4 サイドメニュー5 パンくずリスト6 でき …

Rails3.2でdocxを作成

目次1 途中経過2 次にrubyのスクリプトから同じことをしてみる3 Railsから試してみる4 うまくいきました 途中経過 github.com/jawspeak/ruby-docx-templat

no image

Rails3.2でユーザー管理機能を追加2~Devise+AjaxDataTables

  前回 Rails3.2でユーザー管理機能を追加~Devise 参照 Railsでajaxなテーブルを使う~datatables   いままでAjaxでのデータ更新ができなかった …

no image

MongoidでMapReduceに挑戦中

MongoDBの薄い本の素材をMongoidでやろうとしたけど途中経過 MapReduceをやることの利点は、並列処理ができるということとSQLより柔軟な処理なできるということらしい(MongoDBに …