Tag: javascript

在rails中为每个控制器加载Javascript

Rails中每个视图的JavaScript文件 我调查了类似的线程,但我无法捕捉到。 下面是我的application.js文件。 //= require jquery //= require jquery_ujs //= require bootstrap //= require vendor //= require_tree . 我有一个资产管道的目录结构,如下所示。 –javascripts -misc // directory helper.js session.js app.js application.js home.js 我如何为所有页面加载misc目录,为HomeController加载home.js,为SessionController加载session.js。 我不想让不需要的JS在每个地方加载。

如何从命令行运行QUnit测试?

我最近开始研究一个Rails应用程序,它已经有大量的QUnit测试用于测试ember。 我被指控使用CI设置应用程序(我决定使用CodeShip)。 我目前面临的问题是,运行qunit测试的唯一方法是转到http://localhost:3000/qunit 。 我需要设置一种从命令行运行测试的方法。 我已经做了大量的研究,并尝试过至少10种不同的解决方案,但没有成功。 目前我正在尝试使用茶匙,但我还没有设法让它起作用。 任何帮助将非常感激。 如果我需要发布有关设置的更多信息,请告诉我。

Rails 4 – Toaster通知而不是Flash通知

我正在使用这个库,( https://github.com/CodeSeven/toastr ),我正在尝试将我的Flash通知推送到Toastr为我提供的javascript函数。 如何针对每个错误或通知调用此函数? 这是用于制作烤面包机通知的方法之一: toastr.warning(‘This is a warning!’) 我尝试在ApplicationController中创建一个方法,看看我是否可以在CanCan的默认错误上调用该方法。 我有各种版本的方法,但都没有。 def toast(type, text) #if Logic here for various errors/notifications respond_to do |format| format.js { render action: “toastr.warning(#{text})”, layout: false} end end def toast(type, text) #if Logic here for various errors/notifications “toastr.warning(#{text})” end 然后我尝试在CanCan块中使用此方法: rescue_from CanCan::AccessDenied do |exception| toast :error, exception.message redirect_to root_url end 我认为这是可能的,但我只是不确定如何实现它。 […]

Ruby on Rails 4 javascript未执行

我在app/assets/javascripts有一个自定义的js文件。 这是js文件: //app/assets/javascripts/contacts.js //$(document).ready(function() { //I’ve already tried with this method $(window).load(function() { alert(“foo bar”) }); 我需要application.js文件中的文件contacts.js文件。 如果我检查html页面,我看到正确加载了js文件,但是没有显示该消息。 如果我重新加载页面(通过按f5),则正确显示该消息。 当页面加载时,javascript被加载(我可以在浏览器的源代码html代码中看到它)但是没有执行。 你能帮助我吗? 解决方案: Rails 4:如何将$(document).ready()与turbo-links一起使用

will_paginate页面链接问题

我目前有一个评论模型,在微博下发布,两者都显示在同一页面上。 问题是两者都显示在同一页面上,并且两者都是分页的,我正试图用facebook方法进行微观测量。 以下是以下问题: 两个分页的链接变成这个href=”/users/2?page=2″而不是href=”/users/2/micropost?page=2″或者href=”/users/2/comment?page=2″ 。 我不确定如何解决这个问题。 这是我的一些代码。 所有建议都非常感谢! Micropost渲染HTML false %> Add a thread! 评论部分HTML <div id='CommentContainer-‘ class=’CommentContainer Condensed2’> “comments/form”, :locals => { :micropost => micropost } %> 5, :page => params[:page]) %> “pagination” %> 显示页面的用户控制器 def show @user = User.find(params[:id]) @comment = Comment.find(params[:id]) @micropost = Micropost.new @comment = Comment.new @comment = @micropost.comments.build(params[:comment]) @comments = […]

与客户端haml的angularjs

我刚刚开始在我的Rails应用程序中使用AngularJS,因为我习惯在Rails中使用haml模板,我想在客户端使用AngularJS。 问题是我不知道在haml文件中的哪个位置读取。 我有一个投资者的模型,我正在尝试将’show’模板转换为haml,因为它是最容易开始的。 这是我关于show的AngularJS代码 investors.js.coffee # Setup the module & route angular.module(“investor”, [‘investorService’]) .config([‘$routeProvider’, ($provider) -> $provider .when(‘https://stackoverflow.com/investors/:investor_id’, {templateUrl: ‘https://stackoverflow.com/investors/show.html’, controller: ‘InvestorCtrl’}) ]) .config([“$httpProvider”, (provider) -> provider.defaults.headers.common[‘X-CSRF-Token’] = $(‘meta[name=csrf-token]’).attr(‘content’) ]) angular.module(‘investorService’, [‘ngResource’]) .factory(‘Investor’, ($resource) -> return $resource(‘https://stackoverflow.com/investors/:investor_id.json’, {}, { show: {method: ‘GET’}, }) ) angular.bootstrap document, [‘investor’] 这是我的控制器AngularJS代码 investors_controller.js.coffee # Show Investor window.InvestorCtrl = ($scope, […]

未捕获的TypeError:undefined不是函数rails3 / backbone / js

我刚刚开始深入研究javascript以使项目更具响应性,我正在研究backbone.js示例。 我在一个新的Rails 3项目中复制了http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/ 。 我运行该项目并转到主页….并且有一个链接到/#并没有别的。 查看js控制台,我在两个脚本上遇到错误:application.js和backbone.js 这个(backbone.js) backbone-min-0-3-3.js:8Uncaught TypeError: Cannot call method ‘extend’ of undefined 这个(application.js): var App = { Views: {}, Controllers: {}, Collections: {}, init: function() { new App.Controllers.Fffforms(); **error message —> application.js:9Uncaught TypeError: undefined is not a function** Backbone.history.start(); } }; 作为js的新手,这并不是很有意义,我所看到的一切都没有在短期内有所帮助。 任何人都可以告诉我这些错误究竟表明了什么以及如何进行跟进? 一切都检查了比较https://github.com/jamesyu/CloudEdit中的资源,但我从一个新的rails 3项目(不是该repo的克隆)的复制并不完全有效。 任何建议表示赞赏,记住我刚开始学习一些javascript。 编辑: 通过建议,我实际上添加了Jammit gem并将其配置为服务所有js脚本,默认Rails都不是。 现在所有脚本都将进入浏览器(包括控制器)。 不幸的是,这并没有解决原始问题,只是在加载时出现更多错误,从app init流出,这是在chrome […]

使用Cucumber和Capybara进行分类测试

有没有办法用Cucumber和Capybara测试列表的排序。 使用javascript在客户端完成排序。 我在思考以下几点: Then I should see “first element” and then I should see “second element” 不幸的是,我不知道如何构建这些步骤。 谢谢您的帮助!

Rails i18n和javascript中的路由

有时在JavaScript中提供Rails本地化文件会非常方便。 对于路线助手来说也是如此。 我发现这两个插件正是这样做的: 将i18n暴露给JavaScript: http : //github.com/fnando/i18n-js JavaScript中的Rails路由: http : //tore.darell.no/pages/javascript_routes 我的问题: 是否有其他插件/gem做类似的事情,如上面两个? Rails中的正确方法是什么? 元标记? 其他数据属性? 谢谢你的任何输入!

rails使用正则表达式以逗号分隔的自动完成标记

我正在使用旧的auto_complete插件与gem上的taggable一起使用,试图基本上复制Stack Overflow本身的标记行为! 我或多或少做了这个rails cast中描述的内容。 对于单个标签,这非常有效。 但是,我真的希望这样做,以便每次用户输入空格或逗号(就像在Stack Overflow上一样)时,自动完成将重新开始。 我想有一些方法可以通过正则表达式来做到这一点,但我不知道如何将这种行为应用到text_field(我想用JavaScript来“重启”自动完成,但不可否认我相当弱谈到JavaScript。这就是我的观点: formatted_businesses_path(:js), :method => :get, :with => “‘search=’ + element.value” } %> 我的控制器非常简单,只需保存特定业务的标签即可。 如果有人能指出我正确的方向(因为我不知道如何去做)我会非常感激。