Rails:如何将东西放入标题中

时间:2017-01-14 11:18:50

标签: ruby-on-rails dom hyperlink ruby-on-rails-5 head

在我的Rails应用程序中,我包含OneSignal,需要将以下链接放在文档的头部:

<link href='/manifest.json' rel='manifest'>

不幸的是,对于Rails,我无法将此链接放在那里,因为整个布局都会在体内呈现。

虽然这......

$(document).ready(function(){
    $("head").append("<link href='/manifest.json' rel='manifest'>");
});

似乎在开发模式下工作,它在生产中不起作用。

如何将此链接添加到文档的head部分?

2 个答案:

答案 0 :(得分:0)

您可以在<link href='/manifest.json' rel='manifest'>中添加app/views/layouts/application.html.erb

答案 1 :(得分:0)

如果您不想进行网站范围更改(将脚本添加到网站上的每个页面),您可以选择要将其放入的页面并添加到.htmlerb文件

<%= content_for :header %>
    <%= javascript_include_tag "script.js" %>
<%= end %>

javascript_include_tag将允许您将内容从控制器发送到标头,如果script.js位于您的app / assets / javascript目录中,则会将其添加到标头中。

另一种选择是创建一个specific layout并让需要脚本的页面使用该布局,通过在控制器中调用它,如下所示:

def users_index
@user= User.find(params[:id])
layout: users_index layout 
end

这将从app / views / layouts加载users_index_layout.html.erb文件...如果存在,如果不存在则大声抱怨。

相关问题