form_for @post, :url => { :action = ‘whatever-action-it-should-have-
been’ } do |f| … end
Do I need to manually set the :url parameter like this every time I
use form_for or is there a way to get it to globally recognize my
altered named routes?
As far as I understand, you are trying to generate URLs with resource
name “blog” when actual controller is named posts. So the correct path
should be blogs_path (for your example) and not posts_path, and I
think it’s a good idea that you specify it always. I don’t know if you
can specify it globally.
But if it suits your need you can use :as. From rails guide:
map.resources :photos, :as => “images”
will recognize incoming URLs containing image but route the requests
to the Photos controller
I actually used :as before using :controller, and while it recognized
routes using the “aliased” name, the URL helpers generated links using
the “real” name. Perhaps I was using the wrong helpers, though. I will
look into it again. Thanks for your response!
Trying it again, using :on did what I was expecting. I think I most
have mistakenly tried used alias_path instead of original_path when I
was trying it the first time. Case closed! Thanks again!
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.