2015-12-17 1 views
0

Я использую жёсткий рельс friendlyID, который отлично работает при создании нового дружественного URL-адреса. Моя проблема заключается в том, что пользователи все равно могут обращаться к исходному пути ресурса: mydomain.com/movies/2Rails & FriendlyID gem: как перенаправить путь ресурса к новому дружественному URL-адресу

Как бы перенаправить исходный путь ресурса на новый дружественный URL?

ответ

0

Вот как можно перенаправить старый: путь к вашему ID friendly_id: пробкового путь

# config/routes.rb 
get "/movies/:id", to: "movies#redirect_to_slugged_url" 
get "/movies/:slug", to: "movies#show", constraints: {slug: %r{\d{4}/\d{2}/\d{2}/[^/]+}}, as: :movie 


# app/controllers/movies_controller.rb 
class MoviesController < ApplicationController 

    def redirect_to_slugged_url 
    movie = Movie.find(params[:id]) 
    redirect_to movie_path(movie) 
    end 

    def show 
    @movie = Movie.friendly.find(params[:slug]) 
    end 
end