在执行渲染时,rails content_for没有被执行?

den*_*iss 5 ruby-on-rails ruby-on-rails-3

所以我content_for在我的视图中有登录和会话控制器,我有render :new用户没有输入有效凭据.然而,当它这样的时候render :new,我得到一个没有任何css或js的黑白页面.这就是我的content_for样子

<% content_for :head do %>
    <%= stylesheet_link_tag "user_sessions/new" %>
    <%= javascript_include_tag 'user_sessions/new.onready' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

有没有工作可以确保上面的代码在我执行时执行render

Emi*_*ily 8

我的猜测是你不在content_for任何地方.在app/views/layouts/application.html.erb(或者您为此页面使用的任何布局)确保您具有以下内容:

<head>
  <!-- your regular head content goes here -->
  <%= content_for :head %>
</head>
Run Code Online (Sandbox Code Playgroud)

传递块时content_for,块的内容将存储在别处使用.然后,content_for没有块的调用将插入存储的内容.

有关详细信息,请参阅文档content_for.