Ruby Rails aways呈现application.html.erb而不是想要的视图
我的Ruby on Rails应用程序总是呈现layouts/application.html.erb视图,而不是我想要的视图。有人知道为什么会这样吗? 我的路由文件如下所示:Ruby Rails aways呈现application.html.erb而不是想要的视图,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我的Ruby on Rails应用程序总是呈现layouts/application.html.erb视图,而不是我想要的视图。有人知道为什么会这样吗? 我的路由文件如下所示: Rails.application.routes.draw do root 'startup#index' resources :users end 我的应用程序_cotroller.rb几乎是空的: class ApplicationController < ActionC
Rails.application.routes.draw do
root 'startup#index'
resources :users
end
我的应用程序_cotroller.rb几乎是空的:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
end
class ApplicationController
默认情况下,Rails中的控制器动作会呈现动作的视图模板,并封装到布局中(即应用程序/布局
)
模板处理程序管理扩展(.html.erb、.html.haml、.json.erb等…)的查找
因此,在名为index的操作中,除非您自己调用render
def edit
# your code
render action :'edit', layout: 'application/layout' # implicitly called
end
Rails随后将开始处理布局,并将编辑模板的内容放在布局中的任何yield
位置。因此,典型布局如下所示:
<!doctype html>
<head>
</head>
<body>
<!-- layout content before view -->
<%= yield %>
<!-- layout content after view -->
</body>
默认情况下,Rails中的控制器动作会呈现动作的视图模板,并封装到布局中(即
应用程序/布局
)
模板处理程序管理扩展(.html.erb、.html.haml、.json.erb等…)的查找
因此,在名为index的操作中,除非您自己调用render
def edit
# your code
render action :'edit', layout: 'application/layout' # implicitly called
end
Rails随后将开始处理布局,并将编辑模板的内容放在布局中的任何yield
位置。因此,典型布局如下所示:
<!doctype html>
<head>
</head>
<body>
<!-- layout content before view -->
<%= yield %>
<!-- layout content after view -->
</body>
在控制器中这样提到所需的布局:布局“我的布局”
,并在app/views/layuts/my\u layout.html.erb
中创建布局。你能把你的布局/application.html.erb
代码放在你的问题中吗?您是否将
放在希望呈现视图的位置?没有。非常感谢。产量部分缺失:)在控制器中这样提及所需布局:layout'my_layout'
,并在app/views/layuts/my_layout.html.erb
中创建布局。你能把你的layouts/application.html.erb
代码放在你的问题中吗?您是否将
放在希望呈现视图的位置?没有。非常感谢。产量部分缺失:)