0

レイアウトを使用してはならないビューがあります。これは使用されるコントローラ アクションです:

def last
  @video = Video.last
  render layout: false
end

「表示」ビューを直接呼び出すと、レイアウトは使用されずに機能します。それにもかかわらず、リンクをたどってそのビューを呼び出すと、実際にはビューでデフォルトのレイアウトが読み込まれます。

リンクはレイアウトに存在します:

<%= link_to "last video", last_video_path %>

とビュー:

<body marginwidth="0" marginheight="0">
  <iframe type="text/html" width="100%" height="100%" frameborder="0" 
          src="http://www.youtube.com/embed/<%= @video %>" >
  </iframe>
</body>

私が間違っているかもしれないことは何ですか??

4

1 に答える 1

0

私はついに機能していないものを見つけました。私のレイアウトでは、ヘッダーに次のものがあります。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><%= content_for?(:title) ? yield(:title) : "NBATopOfTheNight" %></title>
    <%= csrf_meta_tags %>
    <%= stylesheet_link_tag "application", :media => "all" %>
    <%= javascript_include_tag "application" %>
  </head>
  <body>
  ...

行 <%= javascript_include_tag "application" %> は Twitter ブートストラップによって追加され、レンダリングを指定しない場合でもビューのレンダリングを担当します。この行を削除すると、プロジェクトが機能します:-)

于 2013-11-11T11:31:19.547 に答える