标签: turbolinks

无法使用Devise获取新的Rails应用程序以显示sign_in/sign_up页面

我收到以下错误:

ExecJS::RuntimeError in Devise::Sessions#new

Showing C:/Users/me/RubymineProjects/my_project/app/views/layouts/application.html.erb where line #6 raised:

  (in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.1.1/lib/assets/javascripts/turbolinks.js.coffee)
Extracted source (around line #6):
3  <head>
4    <title>HourlyTracker</title>
5    <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
6    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
7    <%= csrf_meta_tags %>
8  </head>
9  <body>
Run Code Online (Sandbox Code Playgroud)

我正在使用Devise的3.0.0rc版本,它应该与Ruby 2.0和Rails 4.0rc1一起使用.我在Windows x64上.

ruby-on-rails devise turbolinks ruby-2.0 ruby-on-rails-4

5
推荐指数
1
解决办法
2456
查看次数

"无法识别您的适配器规范"Rails 4中与turbolinks相关的错误

我按照Rails指南的入门部分,welcome按照教程创建了控制器.我启动了服务器并打开了http://localhost:3000/,而不是<h1>Hello, Rails!</h1>它应该看到的,我得到了错误Did not recognize your adapter specification.

错误块只是application.html.erb文件中的一些HTML ,这是违规行:

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
Run Code Online (Sandbox Code Playgroud)

如果我从文件中删除此行,它将按预期工作.我一派错误和它我看到了它可能有一些做的jsoncoffeescript宝石.我已经安装了这些宝石和最新的,与沿railsturbolinks宝石,据我可以告诉他们似乎都工作正常.

这不是必需的,但我想在我的Rails应用程序中使用turbolinks.对于出了什么问题一无所知也感觉不好.我怎么解决这个问题?

ruby-on-rails turbolinks

5
推荐指数
1
解决办法
1537
查看次数

Facebook评论w/Rails 4和Turbolinks

我在启用Turbolinks的情况下将Facebook社交插件(特别是评论)添加到我的Rails 4应用程序时遇到了麻烦.我在turbolinks问题#62上遵循了这个例子,但无法让它工作.

我也在这里试过turbolink的解决方案,但无法让它工作.

根据这个答案修复turbolinks页面上的明显拼写错误也无效.

SDK未加载,控制台中没有错误.

码:

### view:
<div id="fb-root"></div>
<div class="fb-comments" data-href="<%= request.original_url %>"></div>

### coffeescript:
fb_root = null
fb_events_bound = false

$ ->
  loadFacebookSDK()
  bindFacebookEvents() unless fb_events_bound

bindFacebookEvents = ->
  $(document)
    .on('page:fetch', saveFacebookRoot)
    .on('page:change', restoreFacebookRoot)
    .on('page:load', ->
      FB.XFBML.parse()
    )
  fb_events_bound = true

saveFacebookRoot = ->
  fb_root = $('#fb-root').detach()

restoreFacebookRoot = ->
  if $('#fb-root').length > 0
    $('#fb-root').replaceWith fb_root
  else
    $('body').append fb_root

loadFacebookSDK = ->
  window.fbAsyncInit = initializeFacebookSDK
  $.getScript("//connect.facebook.net/en_US/all.js#xfbml=1")

initializeFacebookSDK = ->
  FB.init
    appId …
Run Code Online (Sandbox Code Playgroud)

facebook ruby-on-rails facebook-javascript-sdk turbolinks ruby-on-rails-4

5
推荐指数
1
解决办法
814
查看次数

rails jquery.turbolinks javascript在页面更改后没有触发

已经广泛记录了这个问题(或者它的味道),但是尽管我的调查和阅读仍然无法解决这个问题,...

安装了以下gem的Rails 4应用程序:

Using rake 10.3.2
Using i18n 0.6.11
Using json 1.8.1
Using minitest 5.4.1
Using thread_safe 0.3.4
Using tzinfo 1.2.2
Using activesupport 4.1.4
Using builder 3.2.2
Using erubis 2.7.0
Using actionview 4.1.4
Using rack 1.5.2
Using rack-test 0.6.2
Using actionpack 4.1.4
Using mime-types 1.25.1
Using polyglot 0.3.5
Using treetop 1.4.15
Using mail 2.5.4
Using actionmailer 4.1.4
Using activemodel 4.1.4
Using arel 5.0.1.20140414130214
Using activerecord 4.1.4
Using execjs 2.2.1
Using autoprefixer-rails 3.0.1.20140826
Using bcrypt 3.1.7
Using sass 3.2.19
Using bootstrap-sass …
Run Code Online (Sandbox Code Playgroud)

jquery ruby-on-rails turbolinks

5
推荐指数
2
解决办法
1365
查看次数

Rails:Turbolinks在DOM更改后删除事件侦听器

如何知道哪一部分DOM已被Turbolink调用取代?

示例流程:

  1. 在页面加载时,将事件侦听器添加到少数DOM节点
  2. 点击一些链接(Turbolinks将取代部分DOM)
  3. 从通过Turbolinks替换的DOM节点中删除事件侦听器

在文档中,我发现了page我可以订阅的事件,例如:

$(document).on('page:receive', function (e) {
    console.log(e);
});
Run Code Online (Sandbox Code Playgroud)

当然我可以从中看出,DOM的一部分即将被替换,但我怎么知道它的哪一部分呢?

javascript ruby-on-rails javascript-events turbolinks ruby-on-rails-4

5
推荐指数
0
解决办法
545
查看次数

Selenium Webdriver Turbolinks

我目前正在为使用Turbolink(红宝石)的产品编写Selenium Webdriver测试。当我单击一个按钮时,我必须等待涡轮链接工作。当我测试jQuery回调时,我通常使用以下命令等待代码:

driver.execute_script 'return jQuery.active == 0'
Run Code Online (Sandbox Code Playgroud)

我可以通过Java脚本检查哪些内容以验证Turbolinks是否已完成?还是我可以抓住一个可以做到的元素?我在顶部看到一个进度条,但是在任何地方都找不到该元素。

编辑:

我可以做这样的事情:

driver.execute_script "$(document).on('page:load', function () { window.turbolinks = true; });"
driver.execute_script "$(document).on('page:before-change', function () { window.turbolinks = false; });"
Run Code Online (Sandbox Code Playgroud)

在页面加载时,然后我可以在window.turbolinks上等待

wait = Selenium::WebDriver::Wait.new(:timeout => 10)
wait.until { driver.execute_script 'return window.turbolinks;' }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解决这个问题?

ruby selenium ruby-on-rails turbolinks

5
推荐指数
1
解决办法
198
查看次数

每次在Rails 5应用程序中加载turbolinks时执行JS

我想在每次加载turbolinks(即加载页面)时执行几行js,而不是从缓存中执行js,但是每次都要在turbolinks加载事件之前强制运行它.那可能吗?

我试图通过隐藏html主体并在app.js.coffee中执行此操作来摆脱FOUC

$(document).on 'turbolinks:load', ->
    document.body.style.visibility = 'visible'
Run Code Online (Sandbox Code Playgroud)

但是在重新加载页面的第3或第4次之后,FOUC开始启动.

要查看此动态,请访问该网站.

javascript ruby-on-rails turbolinks

5
推荐指数
1
解决办法
959
查看次数

Turbolinks多次加载Javascript

我正在使用Turbolinks 2.5.3,我在主页的底部有一个脚本标签.

<script>
  $(document).ready(function() {
    alert('hello');
  });
</script>
Run Code Online (Sandbox Code Playgroud)

对于网站上的每个页面,我运行以下JS:

Turbolinks.pagesCached(0);
Run Code Online (Sandbox Code Playgroud)

如果我访问主页,则会出现一次警报.如果我按下后退按钮然后在我的浏览器上转发按钮,主页将加载,现在出现两个警报.如果我再次重复此过程,将出现三个警报.

这是我的问题:

当我明确告诉不要时,为什么Turbolinks会缓存页面.是否与Turbolinks转换文档就绪事件监听器有关?我如何解决这个问题,每次只加载一次?

javascript jquery ruby-on-rails turbolinks ruby-on-rails-4

5
推荐指数
1
解决办法
1650
查看次数

TinyMCE - 必须刷新页面

当我导航到带有TinyMCE的页面时,它会显示常规textareas,直到我因为turbolinks刷新页面.这是一个记录良好的问题,人们通常会推荐以下某种形式:

$(document).on('page:change', function () {
    <code here>
}); 
Run Code Online (Sandbox Code Playgroud)

我试过这方面的每一个变化都无济于事.

javascript jquery tinymce ruby-on-rails turbolinks

5
推荐指数
1
解决办法
1117
查看次数

使数据表与Turbolink一起使用

我想在我的Web应用程序中使用Turbolinks。但是,我在涡轮链接和数据表方面遇到了一些麻烦。

确实,当我第一次加载数据表时,它会为其生成DOM,一切正常。但是使用turbolinks时,页面将与生成的DOM一起缓存,因此当我更改页面并返回我的数据表时,所有数据表功能均不起作用(分页,排序,过滤器...)

我认为,在已经生成DOM时重新加载数据表是行不通的,因此我尝试在重新加载它之前销毁它:同样的问题

这是我的datatable函数: Datatable函数

这里是对它的调用:对它的调用

您是否遇到过这个问题,我该怎么解决?

感谢您的回复

javascript datatable turbolinks

5
推荐指数
1
解决办法
762
查看次数