Ruby on rails 铁路及;FriendlyID gem:如何将资源路径重定向到新的友好URL

Ruby on rails 铁路及;FriendlyID gem:如何将资源路径重定向到新的友好URL,ruby-on-rails,friendly-id,Ruby On Rails,Friendly Id,我正在使用rails gem,它非常适合生成新的友好url段塞。我的问题是用户仍然可以访问原始资源路径:mydomain.com/movies/2 如何将原始资源路径重定向到新的友好Url?以下是如何将旧的:id路径重定向到友好的\u id:slug路径 # config/routes.rb get "/movies/:id", to: "movies#redirect_to_slugged_url" get "/movies/:slug", to: "movies#show", constra

我正在使用rails gem,它非常适合生成新的友好url段塞。我的问题是用户仍然可以访问原始资源路径:
mydomain.com/movies/2


如何将原始资源路径重定向到新的友好Url?

以下是如何将旧的:id路径重定向到友好的\u id:slug路径

# 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
#config/routes.rb
获取“/movies/:id”至:“movies#重定向_至_sluged_url”
获取“/movies/:slug”,到:“movies#show”,约束:{slug:%r{\d{4}/\d{2}/\d{2}/[^/]+},as::movie
#app/controllers/movies\u controller.rb
类MoviesController<应用程序控制器
def重定向_至_段塞_url
movie=movie.find(参数[:id])
重定向到电影路径(电影)
结束
def秀
@movie=movie.friendly.find(参数[:slug])
结束
结束