URL интерфейса Rails 3.0 с фрагментами, внутренний URL-адрес без

#ruby-on-rails #ruby #ruby-on-rails-3

#ruby-на-рельсах #рубин #ruby-on-rails-3

Вопрос:

Есть ли какой-либо способ использовать фрагменты, сгенерированные переопределением «to_param» в модели, только для интерфейса?

Например, в моей модели у меня есть:

 def to_param
  "#{id}-#{name.parameterize}"
end
  

И это отлично работает на интерфейсе. Но проблема, похоже, в том, что на административной стороне серверной части вы можете редактировать имя / заголовок. В итоге получается куча странных вещей, когда я начинаю что-то редактировать.

Есть ли какой-нибудь простой способ просто использовать #{id}, только если я нахожусь в серверной части администратора с пространством имен?

Ответ №1:

Пожалуйста, проверьте gem Friendly_ID. Он очень хорошо справляется со слизняками.

Если имя изменится (которое является вашим идентификатором для редактируемого объекта), идентификатор не изменится. Таким образом, когда вы редактируете или обновляете объект, вы могли бы использовать идентификатор для идентификации, а не слизняк.