David Wong

cryptologie.net

cryptography, security, and random thoughts

Hey! I'm David, cofounder of zkSecurity, research advisor at Archetype, and author of the Real-World Cryptography book. I was previously a cryptography architect of Mina at O(1) Labs, the security lead for Libra/Diem at Facebook, and a security engineer at the Cryptography Services of NCC Group. Welcome to my blog about cryptography, security, and other related topics.

← back to all posts

Some Rails' magic.

blog

If you use Rails you know that Rails also has some pretty weird routes for default.

routes

And if you’re like me you’re wondering how is the browser understanding those requests. The requests are correct, and should be used but nowadays browsers only understand GET and POST queries. That’s why they are often not used correctly and have lost a lot of meaning in web development.

So first, here’s how Rails is doing it, by including jQuery_ujs, a jQuery plugin specially made for Rails that permits the use of those other verbs (DELETE, PUT, PATCH…).

What you write in Rails looks like that by the way.

<%= link_to 'Destroy', controller, data: {:confirm => 'Are you sure?'}, :method => :delete %>

And what it does is that it creates a link that will actually send a hidden form using POST with an input telling Rails it’s actually a DELETE.

It’s a hack. But it feels nice.

PS: And that’s not all, jQuery_ujs does other useful things.

Rails is not a Ruby framework. It’s a ruby+javascript+css framework.

suggested reads:
CVE TOMEK blog
Ruby on Rails blog
← back to all posts blog • 2014-08-04
currently reading:
Some Rails' magic.
08-04 blog
📖 my book
Real-World Cryptography is available from Manning Publications.
A practical guide to applied cryptography for developers and security professionals.
🎙️ my podcast
Two And A Half Coins on Spotify.
Discussing cryptocurrencies, databases, banking, and distributed systems.
📺 my youtube
Cryptography videos on YouTube.
Video explanations of cryptographic concepts and security topics.