While going through this Ruby on Rails Getting Started guide, I ran into a code example that felt really strange and hard to parse. (I think that I might be addicted to braces (and parentheses).)
def index @posts = Post.all respond_to do |format| format.html # index.html.erb format.json { render :json => @posts } end end
The purpose of the code is fairly clear, but in order to parse how it works I spent the night reading up on Ruby syntax (thanks Codecademy!). Here I’ve made a loose translation of the above Ruby code into JavaScript using my newfound knowledge. Maybe it will be useful to someone else coming upon Ruby for the first time.
function index() { posts = Post.all(); respond_to(function(format) { format.html(); // index.html.erb format.json(function() { render({ "json": posts }); }); }); }
I’m choosing to ignore that index
is part of a class in the original and that @posts
is an instance variable in said class (and respond_to
and render
are inherited methods). I think it conveys the general idea well enough without opening up the can of worms that is JavaScript inheritance.