Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Layout rails内容不可用_Layout_Ruby On Rails 4_Yield_Content For - Fatal编程技术网

Layout rails内容不可用

Layout rails内容不可用,layout,ruby-on-rails-4,yield,content-for,Layout,Ruby On Rails 4,Yield,Content For,我想让我的javascript/coffescript文件只加载到使用它们的页面上。因此,在我的application.html.erb文件中,我脑海中有以下代码 <%= yield :head %> 不知何故,javascript include标记也导致我的(:样式表)内容持久化,即使我不希望它持久化。如果我在页面a上手动刷新,在我访问页面C之前,所有的信号都会恢复正常。我甚至试着把它放在我的页面视图中,以摆脱链接,但仍然没有效果 <% content_for(:head

我想让我的javascript/coffescript文件只加载到使用它们的页面上。因此,在我的application.html.erb文件中,我脑海中有以下代码

<%= yield :head %>
不知何故,javascript include标记也导致我的(:样式表)内容持久化,即使我不希望它持久化。如果我在页面a上手动刷新,在我访问页面C之前,所有的信号都会恢复正常。我甚至试着把它放在我的页面视图中,以摆脱链接,但仍然没有效果

<% content_for(:head) do%>
<% end%>


有什么想法吗?

启用TurboLink后,它将无法工作。您需要做的是禁用TurboLink或将javascript和css放在页面正文中。

更新您的
config/initializers/assets.rb

将您的
filename.js
文件或
***.js
添加到
Rails.application.config.assets.precompile+=%w(filename.js)

Run
RAILS\u ENV=production rake assets:precompile
取决于您的环境。如果您在本地工作,请跳过该命令,因为它将根据您的配置动态预编译

重新启动应用程序,应在turbolinks关闭的情况下工作,并从头部或身体屈服。

我用过

<% content_for :head do %>
<% end %>

但是在我的相关版面的标题标签中没有使用,这对我来说是个问题

这些都是平等的

<%= content_for :head %>
or
<%= yield :head %>

您是否启用了Turbolinks?是的,我认为默认情况下它是对的?禁用Turbolinks后,它仍然不适用于我。
<% content_for(:head) do%>
<% end%>
<% content_for :head do %>
<% end %>
<%= content_for :head %>
or
<%= yield :head %>