Как настроить постоянные ссылки в стиле WordPress? - PullRequest
1 голос
/ 04 июня 2011

Я хочу, чтобы постоянные ссылки появлялись в корне сайта.Так, например, сообщение с постоянной ссылкой «hello-world» должно отображаться как «mysite.com/hello-world», а не «mysite.com/posts_controller/hello-world."

Как быЯ собираюсь сделать что-то вроде этого?

Ответы [ 2 ]

3 голосов
/ 04 июня 2011

Я считаю, что у вас уже есть поле "slug" в вашей модели сообщений. Если ваш почтовый контроллер учитывает это, вам просто нужно добавить правильный маршрут, например:

match '/:slug' => "Posts#show"

В противном случае, если в вашей модели нет слага, вы можете использовать плагин Stringex . Это простой способ автоматического создания слагов для ваших сообщений.

class Post < ActiveRecord::Base
  acts_as_url :title
end

Он создаст слаг из вашего заголовка и сохранит его в столбце слагов.

В контроллере вы можете найти правильный пост, как это:

def show
  @post = Post.find_by_slug(params[:slug])
end
1 голос
/ 04 июня 2011

В ваших маршрутах:

match '/:slug' => "Posts#show"

Тогда в вашем контроллере вы можете сделать что-то вроде:

Post.find_by_slug(params[:slug])

Примечание: вам нужно будет сгенерировать это значение слага и сохранить его в модели Post.

Также взгляните на friendly_id , чтобы узнать о проверенном и проверенном способе сделать это (если вам нужно что-то более сложное).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...