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
-,

執筆者:

関連記事

Railsでデータベーススキーマの変更と関連するモデルのフォーム

  gemを公開しました!詳細は記事の最後に!   新規投稿するフォームのラベルが変数を使っていて見苦しいので自分で好きなラベルを付けられるようにした いまのスキーマはこんな感じな …

Rails3.2+Mongoidでログイン機能~devise

  目次1 Gemfile2 generate3 model4 試す5 Login/Logout6 アクセス制限7 メニュー構成を整える8 翻訳 I18n9 見た目を整える Gemfile …

Rails3.2で位置情報を日本語表示の住所に変換する~geocoder

ついにブログ記事が100件突破した! そのうちメニュー項目などをわかりやすく構成し直したいと思う いまはRailsのプログラムが楽しくて仕方ない時期なので色々と試して書き溜めたいと思う EverNot …

Rails3.2でajaxなフォルダツリーを導入する~dynatree-rails

  jQuery UIのプラグインdynatreeをRailsで使ってみた github.com/glebtv/dynatree-rails wwwendt.de/tech/dynatree …

Rails4.0でもajaxなデータテーブルを使う~ajax-datatables

Railsでajaxなテーブルを使う~datatables Rails4でのJSONテンプレート~jbuilder+rabl+ruby 目次1 index.json.jbuilder2 tasks.j …