Ruby on rails 在rails应用程序中仅使用一个控制器
我正在尝试开发一个只需要一个控制器的应用程序,并使用url中的任何内容作为该控制器的参数 我已经了解到,通常url解析为GET controller/action,如example.com/controller/action/params,但我希望使用特定的控制器和特定的操作Ruby on rails 在rails应用程序中仅使用一个控制器,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在尝试开发一个只需要一个控制器的应用程序,并使用url中的任何内容作为该控制器的参数 我已经了解到,通常url解析为GET controller/action,如example.com/controller/action/params,但我希望使用特定的控制器和特定的操作 是否有任何方法可以解析一个url,例如example.com/params,它总是由同一个操作和控制器处理?是的,有。在config/routes.rb文件中定义路由: match "catchall/*page", :t
是否有任何方法可以解析一个url,例如example.com/params,它总是由同一个操作和控制器处理?是的,有。在
config/routes.rb
文件中定义路由:
match "catchall/*page", :to => "catchall#respond"
然后在控制器中:
class CatchallController < ApplicationController
def respond
end
end
class CatchallController
上的Rails指南中有几个例子。文件config/routes.rb
用于设置从URL到控制器的映射
一个具体的例子是:
match '/:username' => 'users#show'
任何不匹配的请求都将被路由到userscoontroller
的show
方法,在params
散列中传递的字符串作为username
键的值。
我认为这是个坏主意,但您可以使用“渲染动作”来执行此操作:
def索引
如果self.class.instance_方法(false).include?参数[:第页].至\u sym
呈现操作:参数[:页]
其他的
#错误404
结束
结束
首先,您这样做的理由是什么?根据您给出的描述,我建议使用其他框架,如Sinatra或Padrino。我实际上是在尝试模仿url缩写器或imgur中的功能。仅在使用rails时,这是个坏主意吗?我基本上是在模仿imgur的功能,通过imgur.com/AbcDefgNow可以简单地检索图像。我理解你的想法,我的答案看起来很不一致(