ruby-on-rails - Rails 命名为routes + Controller 作为参数

标签 ruby-on-rails routes named-routing

是否可以将名为route的rails中的 Controller 值作为参数,我可以在运行时传递该参数以将调用定向到正确的 Controller ?

例如 map.ride 'ride' ,:controller => {某种指定参数的方式}, :action => 'ride'

然后在运行时,我想传递此调用应该进行的 Controller 名称。我的操作正在执行不同的操作,具体取决于发送调用的 Controller 。 谢谢

最佳答案

Thomas'答案是正确的,但是如果您希望 URL 格式更加灵活,您可以指定多个路由并使用 route requirements通过在每个上放置 :requirements 。仅当满足要求时,该路线才会匹配。例如:

map.resources :rides, :path_prefix => '/:option', 
  :requirements => { :option => /one/ }, :controller => 'one'
map.resources :rides, :path_prefix => '/:option', 
  :requirements => { :option => /two/ }, :controller => 'two'

然后:

/one/rides 将转到 OneController

/two/rides 将转到 TwoController

关于ruby-on-rails - Rails 命名为routes + Controller 作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912002/

相关文章:

ruby-on-rails - 让 Rails 在子目录中查找 .mobile 文件?

angular - 如何在 Angular 中为路由参数指定类型

ruby-on-rails - 使用带有参数和 form_tag 的命名路由

ruby-on-rails - 如何生成正确的 `url_for` 嵌套资源?

ruby-on-rails - 使用正则表达式根据用户名的最后一个字母更改文本

ruby-on-rails - 在 ruby​​ on Rails 中同时更新 2 个具有相同属性的模型

javascript - 从 javascript 书签调用 Devise

ruby - 如何在 Rails 中创建数组的路由

javascript - AngularJs - 限制 'logged in' 用户访问的最佳方法