从 Rails 数据库中获取路线

dub*_*tor 5 routes ruby-on-rails

如何从数据库加载路线?我有表Post列:url。本栏目中有部分url,eg:

  • 关于
  • 前卫/美国
  • 节目/我们/信息
  • 空的
  • ETC。

如何为此设置路线?结果示例:

http://mysite.com/progs/us for the page http://mysite/posts/2
Run Code Online (Sandbox Code Playgroud)

Dar*_*ide 4

您可以通过此路由拦截任何网址:

    # routes.rb
    get '*url' => 'posts#show', format: false
Run Code Online (Sandbox Code Playgroud)

注意:该路由应在配置的最后声明

控制器如下所示:

    # posts_controller.rb
    class PostsController < ApplicationController
      def show
        @post = Post.find_by_url!(params[:url])
        # by default "show" view is rendered with "post" variable
      end
    end
Run Code Online (Sandbox Code Playgroud)