class User < ActiveRecord::Base
def to_param
username
end
end
в вашем контроллере сделайте
@user = User.find_by_username(params[:id])
вместо
@user = User.find(params[:id])
. Это сделает ваши маршруты такими, как http://example.com/users/username
, чтобы сделать то, что вы хотитеВы можете сделать маршрут следующим образом:
resources :users, :path => '' do
# nested resources...
end
, поэтому user_path (@user) сделает URL http://example.com/username, но это не очень хорошая практика, потому что это не REST.Я советую вам оставить URL-адреса, такие как http://example.com/users/username