A brief note to point out some changes I made to Consent, my access control DSL for Rails. I’ve been doing some Rails development for the first time in a few months and ran into some things that needed changing.
First up, it seems Rails 2.3 uses application_controller.rb
rather than
application.rb
for the root controller and this was breaking Consent’s startup
routine; this is now fixed.
Secondly, Consent has for some time provided a feature to let you use request
expressions in your routes and controllers, so you could write redirect_to
users.login
rather than redirect_to :controller => 'users', :action =>
'login'
, for example. This has now been extended so that any controller or view
method that expects a URL hash (such as redirect_to
, link_to
, form_for
,
etc.) can use request expressions instead. This really helped me clean up some
template code earlier and I think I prefer it to named routes. In fact, it’s a
bit like getting named routes for free without having to specify them anywhere.
Let me know if either of these cause problems; injecting method_missing
so
broadly is bound to upset somebody but I’ve not had any problems so far.