【发布时间】:2023-03-11 18:00:02
【问题描述】:
好吧,标题问题几乎总结了它,但我还是想详细说明一个场景,
我创建了一个 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 它会正常工作,但我需要知道如果这是强制性的?
非常感谢!
【问题讨论】:
标签: ruby-on-rails-3