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

執筆者:

関連記事

no image

Ubuntu ServerのGuardからネットワーク経由でWindowsのブラウザをリロードする~guard-livereload

Ubuntu12.04.1でCoffeeScriptの自動makeとブラウザの自動リロード~guard-coffeescript   Ubuntu ServerのGuardからGrowl f …

Rails3.2のproduction環境で動画再生~flowplayer+carrierwave+nginx+unicorn

  By: Creative Tools – CC BY 2.0 目次1 前提2 unicornの設定3 nginxのインストール4 nginxの設定5 アセット関係6  ストリ …

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

By: Mark Strobl – CC BY 2.0 目次1 前回2 generate3 routes.rb4 index.html.erb5 new6 create7 edit8 up …

ElasticSearchをRubyから使う~elasticsearch-ruby

By: Harry Rose – CC BY 2.0 目次1 gem elasticsearch-ruby2 環境3 インスタンス作成4 メソッド一覧5 情報取得6 ドキュメントの作成7 …

市場テクニカル分析ライブラリta-libとruby用のラッパーruby-talibをインストールする

By: Ponzi_Unit – CC BY 2.0 目次1 ta-lib2 talib_ruby ta-lib ta-libは市場のテクニカル分析用のライブラリ集. macであればHom …