Я пытаюсь создать URL-адреса Rails для показа записей, используя их название вместо их ID в URL, например:
/сообщения/а-пост-о-ракета
Следуя учебному руководству онлайн, я сделал следующее:
Поскольку идентификатор больше не указан в URL-адресе, нам нужно немного изменить код.
class Post < ActiveRecord::Base
before_create :create_slug
def to_param
slug
end
def create_slug
self.slug = self.title.parameterize
end
end
Когда создается почта, URL-адрес заголовка сохраняется в базе данных в столбце slug.
Нам также необходимо обновить находки, чтобы найти записи, используя столбец slug вместо использования идентификатора.
class ProjectsController < ApplicationController
def show
@project = Project.find_by_slug!(params[:id])
end
end
На данный момент, похоже, работает, кроме показа записи, потому что find_by_slug! еще не существует.
Я экстремальный newb - где я должен его определять?