gpt4 book ai didi

javascript - rails 4 : disable Turbolinks in a specific page

转载 作者:IT王子 更新时间:2023-10-29 03:05:39 25 4
gpt4 key购买 nike

我正在尝试使用 Rails 4 和 Turbolinks 使 JS 片段在具体页面中工作。我试过标准解决方案:

<script type="text/javascript">

var ready = function() {
// Bla bla
};

$(document).ready(ready);
$(document).on('page:load', ready);
</script>

但是好像不行。我的代码片段是这样的:

<script type="text/javascript">
function ismready()
{
var API_KEY = "api key";
var roomId = "room id";
var ism = new Ismuser(API_KEY, roomId);
ism.init({
board: {
layer: "board"
},
video: {
camsContainer: "guest"
},
chat: {
layer: "chat"
},
moderator: true,
});
}
</script>
<script src="http://assets.ismuser.com/v0.4/js/ismuser.js" type="text/javascript"></script>

代码片段没有按预期工作(即使使用标准解决方案),最后我只想在此页面中禁用 Turbolinks。

我该怎么做?

-- 解决方案

<% content_for :body do %>
<% if controller.controller_name == 'home' && controller.action_name == 'demo1' %>
<body data-no-turbolink="true">
<% end %>
<% end %>

最佳答案

这是一个更简洁的解决方案:

/app/views/layouts/application.html.erb , 替换 <body>用这个标记:

<body 
<% if content_for?(:body_attributes) %>
<%= yield(:body_attributes) %>
<% end %>>

现在,如果您想在特定 View 中禁用 turbolinks,例如/app/views/home/index.html.erb ,您可以将其添加到文件中:

用于 Rails 4

  <% content_for(:body_attributes) do %>
data-no-turbolink="true"
<% end %>

最终将呈现为:

<body data-no-turbolink="true">

用于 Rails 5

在 Rails 5 中,语法略有不同:

  <% content_for(:body_attributes) do %>
data-turbolinks="false"
<% end %>

最终将呈现为:

<body data-turbolinks="false">

关于javascript - rails 4 : disable Turbolinks in a specific page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com