No commit activity in last 3 years
No release in over 3 years
Replace param name of resources' id
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 3.0.0
 Project Readme

resources_id_replace

Replace param name of resources' id. Useful for making user friendly URL.

Example

You can use :replace_id_with option for resources.

resources :users, :replace_id_with => 'name'
    users GET    /users(.:format)            users#index
          POST   /users(.:format)            users#create
 new_user GET    /users/new(.:format)        users#new
edit_user GET    /users/:name/edit(.:format) users#edit
     user GET    /users/:name(.:format)      users#show
          PUT    /users/:name(.:format)      users#update
          DELETE /users/:name(.:format)      users#destroy

Good with the following codes.

class User < ActiveRecord::Base
  def to_param
    name
  end
end
class UsersController < ApplicationController
  def show
    @user = User.find_by_name!(params[:name])
  end
end

Installation

Add this line to your application's Gemfile:

gem 'resources_id_replace'

And then execute:

$ bundle

Or install it yourself as:

$ gem install resources_id_replace

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request