如何为多维请求设置路由?

时间:2014-09-06 01:22:40

标签: ruby-on-rails

我不确定该怎么称呼标题,但我猜对了。 :P

基本上我想设置一个有点复杂的网站,我不知道如何设置路线。以下是它的工作原理。

/ruby将显示有关Ruby编程语言的信息

/ruby/rails会显示有关ROR的信息

/ruby/sinatra会显示有关sinatra的信息

/php会在PHP上显示信息

/php/laravel会在Laravel上显示信息

ETC。

我不确定一切都会如何运作。我想要每个框架/语言的控制器。我正在考虑为每种语言创建一个文件夹并在其中安装控制器,但我不确定这是否是最佳选择。

编辑:我忘了提及每个langugae都有自己的一组页面。 EX。

/ruby/rails/models显示有关rails模型的信息

/ruby/rails/controllers显示有关rails控制器的信息

/ruby/rails/routing显示有关rails路由的信息

/ruby/oop谈论oop

/ruby/variables显示了如何定义变量

ETC。 它本质上有点像文档

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试http://guides.rubyonrails.org/routing.html第3.2节,"动态细分"

get ':controller/:action'

现在为每种语言创建一个控制器。例如,php.rb,ruby.rb等。每个框架都是该控制器中的一个动作

class Ruby < ApplicationController
    def rails
    end
    def sinatra
    end
end

修改

我目前没有时间测试这个,但请告诉我它是否有效: - )

# Routes.rb:

get ':controller/:action/:pagename'

然后是Ruby类

class Ruby < ApplicationController
    def rails
        if template_exists?("#{params[:pagename]}", _prefixes)
            render params[:pagename]
        end
    end
end