I understand that it's easier to write this using an MVC framework.
On our day to day work we use Backbone and Backbone.Marionette, however specifically in this project we prefer not to introduce any client side frameworks to lower the "entrance barrier" into the code. For instance if I would have used Backbone.Marionette and you added code using Knockout and someone else introduced Angular then it will become very hard to maintain this project.

Since this doesn't need to be a single page application, for the most part I prefer that the logic would sit in the server-side.
For this specific use case (showing schools by area) then what we could do is to render in the server-side a hash that contains a mapping between area and an array of schools in this area. Basically something like this:
``` {'tel aviv': ['bialik rogozin', 'ort geula', ...]} ```

Then assign this hash into a javascript variable.

So basically you'll have a helper method in requests_helper called ``` schools_by_area ``` and then in one of the template you'll have:

```
:javascript
    window.mitnadvim.schoolsByArea = "#{schools_by_area.to_json}"
```

Then all that's needed is to bind a jquery event listener on the area drop-down that whenever it's being changed the options in the schools drop down change as well.
I know that it looks cumbersome but given the limitation on introducing mvc frameworks I think it's an 'ok' solution.

Of course, if you think of a better way to write this that doesn't involve introducing client-side mvc frameworks then do it and I'll just review it.