Я посмотрел, как изменить слот динамических параметров и нашел этот пост, который делает именно то, что нужно. Это сообщение https://whattbot.com/blog/rails-patch-change-the-name-of-the-id-parameter-in
В основном то, что он делает, если следующие маршруты:
map.resources :clients, :key => :client_name do |client|
client.resources :sites, :key => :name do |site|
site.resources :articles, :key => :title
end
end
Эти маршруты создают следующие пути:
/clients/:client_name
/clients/:client_name/sites/:name
/clients/:client_name/sites/:site_name/articles/:title
Одним из решений является переопределение метода def to_param
в модели, но я хочу, чтобы это не касалось самой модели.
Но поскольку он для Rails 2.x, как я могу добиться того же для Rails 3?
Обновление
Это приложение использует Mongoid. Не AR. Таким образом, дружественный драгоценный камень нельзя использовать afaik.