Tag: javascript

开发模式下的资产编译速度慢

我有一个包含数百个咖啡脚本文件的大型rails应用程序。 有时当我对coffeescript文件进行微小更改或切换分支时,整个资产都被预编译,我必须等待很长时间才能加载页面: Started GET “/assets/application.js” for 127.0.0.1 at 2013-01-11 19:39:45 +0100 Compiled sprockets/commonjs.js (0ms) (pid 18142) Compiled jquery.js (2ms) (pid 18142) Compiled jquery_ujs.js (0ms) (pid 18142) Compiled underscore.js (0ms) (pid 18142) Compiled backbone.js (0ms) (pid 18142) Compiled backbone_rails_sync.js (0ms) (pid 18142) Compiled handlebars.runtime.js (0ms) (pid 18142) Compiled moment.js (0ms) (pid 18142) …and so on 我使用以下资产配置config/development.rb […]

轨道上的ruby和javascript之间的时间转换反之亦然?

如何将ruby时间转换为javascript时间,反之亦然。 Ruby on rails: Time.now Javascript: new Date()

Ruby On Rails 3.1 – 资产管道 – 资产呈现两次

大更新 : 当我终于找到真正的解决方案时,我也发现了真正的问题。 正如我在这里写下了很多无用的信息,考虑到真正的问题,我正在对问题进行大量更新,以便其他人可以轻松找到正在发生的事情,并且可以看到解决方案。 问题 :这是因为Rails 3.1的资产管道 实际上……这很简单:资产在开发环境中呈现两次。 做了很多调查,我发现我的Rails 3.1服务器正在从“app / assets”和“public / assets”文件夹中呈现资产。 所以,我把每个.js和.css文件都复制了,这打破了我所有的javascript动画(是的……绑定两次相同的事件和处理程序到同一个元素不是你想要的……通常)。 如果问题突然出现,那是因为我必须运行“rake assets:precompile”来部署我的应用程序。 从那时起,当我的应用程序在开发中运行时,服务器正在呈现静态预编译资产和动态预编译资产。 解决方案(现在有一个更好的几行) – 但你仍然可以阅读它 第一个:我只需要从公共文件夹中删除所有预编译资产。 更好的一个:将config.serve_static_assets = false添加到development.rb,这将阻止从/ public / assets加载文件。 另外,不要忘记重置浏览器缓存。 [编辑:2012年7月20日] 高级一:由于这些静态资产,我最近遇到了一个新问题。 您知道,当您使用paperclip或其他某些gem时,他们会将您的图像添加到某个系统子文件夹的公共文件夹中,因为如果您想使用capistrano部署应用程序,则会更好。 嗯,那太好了,但是! 当我们添加config.serve_static_assets = false时,这些图像不会在开发中呈现,如果你想对它们做一些css则不好。 所以! 该怎么办? 事实上,你必须像开发一样开启静态资产: # Expands the lines which load the assets config.assets.debug = true config.serve_static_assets = true 然后,为防止rails两次渲染其他资源(预编译的资源),只需执行以下命令: rake […]

适用于服务器和客户端的模板语言

我正在寻找一个可以在服务器端(如ERB)和客户端(如EJS)工作的模板解决方案,因此我不必两次编写视图,以便在Rails和Backbone中使用 。 想到的第一个是Mustache 。 还有其他人? 有人成功吗? 编辑 我在这里保留一份汇编。

为什么不decodeURI(“a + b”)==“a b”?

我正在尝试在Ruby中编码URL并使用Javascript解码它们。 然而,正字符给我奇怪的行为。 在Ruby中: [Dev]> CGI.escape “ab” => “a+b” [Dev]> CGI.unescape “a+b” => “ab” 到现在为止还挺好。 但是Javascript怎么样? >>> encodeURI(“ab”) “a%20b” >>> decodeURI(“a+b”) “a+b” 基本上我需要一种编码/解码URL的方法,它们在Javascript和Ruby中的工作方式相同。 编辑: decodeURIComponent不是更好: >>> encodeURIComponent(“ab”) “a%20b” >>> decodeURIComponent(“a+b”) “a+b”

在javascript中类似于ruby的#{value}(字符串插值)

我厌倦了这样写: string_needed =“prefix …..”+ topic +“suffix ….”+ name +“testing”; 我想现在有人可能已经做了一些事情;)

ruby强烈还是弱类型?

ruby强烈还是弱类型? 据推测,Javascript也是如此。

与gulp-ruby-sass一起吞咽:错误:../ style.css.map:3:1:未知单词

使用基本的gulp / express构建手表获得奇怪的错误。 目录布局 project/ – sass/ – style.scss – gulpfile.js – index.html Gulpfile.js var gulp = require(‘gulp’), sass = require(‘gulp-ruby-sass’), autoprefixer = require(‘gulp-autoprefixer’), minifycss = require(‘gulp-minify-css’), rename = require(‘gulp-rename’); gulp.task(‘express’, function() { var express = require(‘express’); var app = express(); app.use(require(‘connect-livereload’)({port: 4002})); app.use(express.static(__dirname)); app.listen(4000); }); var tinylr; gulp.task(‘livereload’, function() { tinylr = require(‘tiny-lr’)(); tinylr.listen(4002); […]

使用WebDriver时可以忽略JavaScriptexception(HtmlUnit,Ruby绑定)

当我加载页面时,HtmlUnit抛出exception并导致我的测试崩溃 caps = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => true) driver = Selenium::WebDriver.for(:remote, :desired_capabilities => caps) driver.navigate.то url ReferenceError:未定义“x”。 (net.sourceforge.htmlunit.corejs.javascript.EcmaError) 如果我使用Firefox驱动程序,则不会抛出exception。 caps = Selenium::WebDriver::Remote::Capabilities.firefox 或者为HtmlUnit驱动程序禁用JavaScript caps = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => false) 我无法更改测试页面上的代码并修复问题,因此我需要忽略它或以任何方式使用Firefox JavaScript Engine而不是标准的HtmlUnit JavaScript引擎。 是否可以在不更改测试页代码的情况下解决我的问题? 更新:尝试Capybara + WebKit作为Selenium + HtmlUnit的替代品 – 工作正常,没有错误。 但我还是想在不改变框架的情况下解决问题。

工作的twitter-typeahead例子?

我正在尝试将twitter-typeahead-rails gem安装到我的应用程序中。 我已经按照几个不同的教程,但所有教程都会导致错误。 有没有人有这个gem的工作示例?