【问题标题】:Rails: Default route not workingRails:默认路线不起作用
【发布时间】:2016-09-30 07:20:51
【问题描述】:

我在routes.rb 文件中添加了默认路由,如下所示:

match ':controller(/:action(/:id))', :via => [:get, :post]

但它不起作用。在 Rails 5.0

中捕获所有请求需要做什么

【问题讨论】:

  • match 在 Rails5 中?..
  • 希望大家删除默认生成的索引文件...

标签: ruby-on-rails routes ruby-on-rails-5


【解决方案1】:

【讨论】:

    【解决方案2】:

    我不确定你的问题到底是什么:

    不建议这样做,但您可以在rails guidelines 中找到更多信息。

    让路由匹配所有请求(在 rails 4 中工作,在 rails 5 中不确定):

    match ':controller(/:action)(.:format)', via: [:get, :put, :post, :patch]
    match ':controller(/:id(/:action))(.:format)', via: [:get, :put, :post, :patch]
    

    应用的默认路由应该这样定义:

    Rails.application.routes.draw do
      root 'welcome#index'
    end
    

    【讨论】:

      【解决方案3】:

      不完全确定您的意思,因为问题含糊不清。希望这能解决您的问题

      为 Rails 5 中的所有请求提供匹配的路由

      match 'photos', to: 'photos#show', via: [:get, :post]
      match 'photos', to: 'photos#show', via: :all
      

      photos = route, photos#show = controller#action
      via 方法采用包含 HTTP verbs:all 的数组,它将链接到所有 HTTP verbs

      查看Rails guide

      可以使用设置默认路由

      root 'controller#action'
      

      或者你可以定义一个控制器的所有路由

      resources :controller_name
      

      【讨论】:

        猜你喜欢
        • 2014-08-03
        • 1970-01-01
        • 2010-11-19
        • 1970-01-01
        • 1970-01-01
        • 2015-09-08
        • 2012-10-20
        相关资源
        最近更新 更多