好吧,标题问题几乎总结了它,但我还是想详细说明一个场景,
我创建了一个 DemoController,(我还没有创建 Resource 模型),我的routes.rb看起来像这样:
DispatchMe::Application.routes.draw do
root to: "demo#index"
end
在演示控制器中,我正在执行以下操作:
class DemoController < ApplicationController
def index
redirect_to :action => 'show'
end
def show
end
end
有一个文件:app/views/demo/show.html.erb当然,我希望该模板被渲染,但我得到了以下错误:
ActionController::RoutingError (没有路由匹配 [GET] "/assets")
并且此 URL 是作为重定向的结果生成的:
/assets?action=show&controller=demo
我在这里错过了什么吗?我认为 rails 应该为这种情况渲染动作的模板。
笔记。我知道如果我创建一个像get 'show' => "demo#show"这样的路由并调用redirect_to show_path它会工作得很好,但我需要知道这是否是强制性的?
非常感谢!