Forum: Ruby on Rails Personalized URL -- route.rb.

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
589525f133e603e1f17af9b03176c000?d=identicon&s=25 Abhishek shukla (Guest)
on 2009-02-17 17:15
(Received via mailing list)
Hello Friends,
I want to configure personalized url for e.g. -
http://localhost:3000/xyzhere xyz is a database value. Now for the
same i have implemented the
following syntax inside my route.rb file

map.url '/:name', :controller => 'controller_name', :action =>
'action_name'

But now when ever i run my application the action_name.rhtml appears
whereever i click.

So guys really confused any suggestion from your side?

Thanks
Abhi
A82ba1167f4d4a8d1de63820e576a87f?d=identicon&s=25 Robby Russell (Guest)
on 2009-02-17 17:20
(Received via mailing list)
Abhi,

Do you want that off of the root path or something like
http://domain.com/people/robbyrussell ?

These are generally referred to as permalinks.

Robby


On Tue, Feb 17, 2009 at 8:14 AM, Abhishek shukla <betterabhi@gmail.com>
wrote:
> So guys really confused any suggestion from your side?
>
> Thanks
> Abhi
>
> >
>



--
Robby Russell
Chief Evangelist, Partner

PLANET ARGON, LLC
design // development // hosting w/Ruby on Rails

http://planetargon.com/
http://robbyonrails.com/
http://twitter.com/planetargon
aim: planetargon

+1 503 445 2457
+1 877 55 ARGON [toll free]
+1 815 642 4068 [fax]
589525f133e603e1f17af9b03176c000?d=identicon&s=25 Abhishek shukla (Guest)
on 2009-02-17 17:26
(Received via mailing list)
Hey Robby
Thanks for reply i want just after the domain name
-- http://domain.com/robbyrussell
<http://domain.com/people/robbyrussell>

instead of
http://domain.com/people/robbyrussell

And the robbyrussell <http://domain.com/people/robbyrussell> will be a
dynamic value..

Though i tried the following code inside the route.rb

map.url '/:name', :controller => 'controller_name', :action =>
'action_name'

It's work but for ever page the above mentioned action is getting called
:(

Thanks
Abhishek
A91bd6cef23eb3516245a092e196c4da?d=identicon&s=25 Maurício Linhares (mauricio)
on 2009-02-17 18:03
(Received via mailing list)
Have you placed it at the end of your routes.rb file?

It's easier if you show up some real code.

-
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
E60b2dc57668b5662ce3f07781e41710?d=identicon&s=25 Matthew Rudy Jacobs (matthewrudy)
on 2009-02-18 12:30
(Received via mailing list)
On Feb 17, 4:14 pm, Abhishek shukla <bettera...@gmail.com> wrote:
> Hello Friends,
> I want to configure personalized url for e.g. -http://localhost:3000/xyzherexyz is a 
database value. Now for the
> same i have implemented the
> following syntax inside my route.rb file
>
> map.url '/:name', :controller => 'controller_name', :action => 'action_name'
>
> But now when ever i run my application the action_name.rhtml appears
> whereever i click.

That sounds like its working.

  map.name "/:name", :controller => "people", :action => "show"
  map.connect ":controller/:action.:format"

will see a url like "http://localhost:3000/anything"
and match it to the first route.
it will do the same for "http://localhost:3000/admin"

and hence always try and grab PeopleController#show

what you'd need to do is declare any important routes before that

eg.

  map.admin "/admin", :controller => "admin"
  map.name "/:name", :controller => "people", :action => "show"
  map.connect ":controller/:action.:format"

this will make sure that "http://localhost:3000/admin" goes to the
right place.

My suggestion is if you're just starting out in rails,
keep it simple.

  http://localhost:3000/people/Abishek

looks just as nice,
but is much simpler for a newbie.

Enjoy.
8410e0ff69ecfd69cf89de4b42745201?d=identicon&s=25 Dave S (Guest)
on 2009-02-18 13:13
(Received via mailing list)
Make sure you put this near the bottom of routes.rb.

map.person '/:name', :controller => 'people', :action => 'show'

Then in your view...

<%= link_to "Person Name", person_path("jimmy") %>

I don't think this is the ideal situation, but it'll do what you're
looking to have done. Really you should be using a named resource, and
set the "to_param" value in your person model to "name".
589525f133e603e1f17af9b03176c000?d=identicon&s=25 Abhishek shukla (Guest)
on 2009-02-18 16:06
(Received via mailing list)
Hey thanks guys its working
i put the line @ the bottom..
Regards
Abhishek Shukla
This topic is locked and can not be replied to.