Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails Friendly URLs

I have a model called Project and I've defined the "to_param" method as this:

def to_param
  permalink
end

I am using this permalink plugin github.com/febuiles/make_permalink so when I call p.permalink it will generate id-name.

The problem is that when I TYPE /projects/1 in my web-browser the URL doesn't change to /projects/1-name. How can I achieve that?

Look that when I go to http://railscasts.com/episodes/63 the URL changes to /63-name

Any suggestions?

Thanks in advance

like image 877
Hock Avatar asked Feb 25 '26 21:02

Hock


1 Answers

It looks like Ryan is using a conditional redirect to the proper episode_url. The Railscasts application source code is on GitHub, so you can see how he does it.

Similarly as Drew suggests, this should work fine in your case.

redirect_to @project, :status => 301 if params[:id] != @project.to_param?
like image 100
Michael Richards Avatar answered Feb 28 '26 11:02

Michael Richards



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!