Замена :id из маршрутов без нарушения соглашения

Я просто заменил :id на маршрутах ресурсов в rails 3 для сгенерированного хэша. Меня раздражает тот факт, что я пишу менее традиционный код (например, link_to edit_user_path(@user) теперь записывается как link_to '/users/#{@user.user_hash}'). Поэтому мне интересно, есть ли более разумный способ сделать это?


person Thiago    schedule 28.02.2011    source источник


Ответы (1)


class User < ActiveRecord::Base
  def to_param
    user_hash
  end
end

и edit_user_path(@user) будет работать правильно для вас

person fl00r    schedule 28.02.2011