Я получаю сообщение об ошибке из rails после установки Friendly_ID, потому что код неверно интерпретирует ввод, и я не знаю, как исправить проблему. Для того, чтобы рамки MVC, чтобы понять URL и маршрут соответственно, гиперссылка должна соответствовать следующей схеме:Почему жемчужина Friendly_ID использует slug вместо первичного ключа?
localhost:3000/posts/[:id]
Выше, [id]
представляет первичный ключ для любого объекта, найденного в классе модели Post. Неправильное толкование вступает в силу, когда Friendly_ID изменяет URL, чтобы соответствовать следующей схеме:
localhost:3000/posts/[:slug]
Обновленный URL, очевидно, легче читать пользователем, но так как мое приложение ожидает получить [:id]
, то возникает следующее исключение для URL «локальный: 3000/сообщений/тестирования»:
Я предположил, что Friendly_ID камень будет либо заботиться о проблеме маршрутизации внутри, выполнить некоторые родню d от [:id]
искать или работать с магией через маскировку. Поскольку в этом случае ни одно из приведенных выше не является истинным, как мне решить проблему, позволяя симпатичным URL-адресам доставлять тот же результат, что и исходный шаблон url?
это отлично работает! Но есть ли интуитивный способ заставить рельсы принять шаблон url? – elersong
@elersong вы можете это сделать - friendly_id: foo, use: [: slugged,: finders] см. В проекте github page – urmurmur
На странице github не указано, куда должен идти этот код. Где я должен это сказать? – elersong