Rails(v。4.2.5)アプリケーションのコントローラ内の特定のレイアウトに特定のレイアウトを適用しようとしていますが、動作しません。奇妙なことに(またはそれほど奇妙ではない)レイアウトは、そのアクションが 'リソース'ルートの一部であるが、これが動作するために必要なアクションではないアクションをレンダリングするために使用されます。これは、リソース。申し訳ありませんがそれが紛らわしいと思われる場合は、ここに関連するコードと説明があります...Rails - 目的のアクションにレイアウトが適用されない
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
は入力アクションに適用されません。しかし、私はこのためのコントローラのコードの2行目スワップアウト場合:
layout "cached", only: [:index]
レイアウトが正常「インデックス」アクションのためにレンダリングされます。
私はここで何が欠けていますか?このレイアウトは1つのアクションに適用されますが、他のアクションには適用されないのはなぜですか?
これが否決なっている場合は、私はなぜ知っていただければと思います。 – skwidbreth