【发布时间】:2016-05-27 21:45:46
【问题描述】:
我正在尝试将特定布局应用于我的 Rails (v. 4.2.5) 应用程序的控制器中的一个操作,但它不起作用。奇怪的是(或者可能不那么奇怪),如果该操作是“资源”路线的一部分,则布局将用于呈现操作,但不适用于我需要此操作的操作,这不是 ' 的一部分资源'。对不起,如果这看起来令人困惑,这里是相关的代码和解释......
routes.rb - 这里有我的entries 控制器的标准资源路由,以及“输入”的附加路由
get '/entries/inputs' => 'entries#inputs.html'
resources :entries
entries_controller.rb - 我正在尝试将 layouts/cached.html.erb 应用于“输入”操作
class EntriesController < ApplicationController
layout "cached", only: [:inputs]
def inputs
end
def index
@entry = Entry.all
end
end
事实上,layouts/cached.html.erb 不会应用于“输入”操作。 然而,如果我把控制器中的第二行代码换成这个:
layout "cached", only: [:index]
“索引”操作的布局已成功呈现。
我在这里缺少什么?为什么这种布局会应用于一个动作而不适用于另一个?
【问题讨论】:
-
如果这被否决,我会很高兴知道原因。
标签: ruby-on-rails