URL aliasing in RoR

Hi all

I want to implement url aliasing on my site…say suppose my url is

domain/blog/1 instead of that i want domain/blog/title-of-that-blog Is
there any method how i can remove Id and put the title instead

Thanks a lot

Dhaval P.

Dhaval P. wrote:

Hi all

I want to implement url aliasing on my site…say suppose my url is

domain/blog/1 instead of that i want domain/blog/title-of-that-blog Is
there any method how i can remove Id and put the title instead

Thanks a lot

Dhaval P.

You will have to create a slug or a permalink column in your e.g.
Article model, make sure it is unique, then you have a route like
#routes.rb
map.article ‘blog/:permalink’ , :controller=>‘article’, :action=>‘show’
#article_controller.rb
def show
@article = Article.find_by_permalink(params[:permalink])
render :template => ‘not_found’, :status => 404 unless @article
end

but in that case i need to route for each and every controller and its
methods…which i dont want…

I think you can do something like

map.resources
‘:controller/:action/:permalink’ , :controller=>’:controller’,
:action=>’:action’,

and optionally maybe even :id => :permalink. I don’t know about if and
where you should put the quotes, if any, though.

On Jan 30, 6:45 am, Dhaval P. [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs