Есть ли способ получить настоящий столбец id
из модели, модифицированной с помощью friendly_id?
Я не хочу делать для него еще один запрос к БД из соображений производительности.
Есть ли способ получить настоящий столбец id
из модели, модифицированной с помощью friendly_id?
Я не хочу делать для него еще один запрос к БД из соображений производительности.
Вообще говоря, friendly_id изменяет методы to_param
и find
. Далее должно работать:
@affiche = Affiche.find(params[:id]) # params[:id] is a slug
@id = @affiche.id
Вы пробовали attributes["id"]
? например: Model.first.attributes["id"]
@id = Affiche.first.attributes["id"]
, я ничего не получу
- person M2_; 30.10.2011
nil
? если запрос к базе данных, вызванный запуском first
, включает столбец id
, я думаю, вы сможете получить к нему доступ через хэш атрибутов. Но я не знаю, как работает плагин friendly_id, похоже, он использует отдельную таблицу для всех слагов. Так что я думаю, что ответ @voldy должен работать.
- person Mattias Wadman; 30.10.2011
id
к params
. Или как-то пропустить настоящий id
через слаг? И слаги находятся в той же таблице, что и id
s для frienly_url
- person M2_; 30.10.2011
attributes
в экземпляре модели, который у вас уже есть. Как вы ищете экземпляр модели в первую очередь при использовании дружественного идентификатора?
- person Mattias Wadman; 30.10.2011