I am using Ruby on Rails 3.0.9 and I would like to build a controller name from a class name as well as possible following RoR naming conventions. For example, if I have the Articles::Comment class I would like to retrieve the articles/comments string.
Maybe it exists a RoR method created by developers to handle internally these conventions, but I don’t know that.
How can I retrieve the controller name as in the example above?
You’re looking for the underscore method. More info here.
Or, if you’ve got the controller class itself, it would be like this:
EDIT
As of routes, they are built one piece at a time, even when you namespace them. When you do something like this:
What rails is going to do is, first:
Then it’s going to get “comments” and do the same, but this one is going to be routed under “/articles”. Rails does not namespace internal resources, so, the controller has to be CommentsController, not Articles::CommentsController.
Only then you clearly namespace something, Rails is going to namespace your classes:
I hope it’s clearer now.