Tag: javascript

Ruby on Rails:Selectize.js与Cocoon

我正在尝试在Ruby on Rails中创建一个表单来选择构造的一部分。 新的字段(部分条目 – 连接表)由Cocoon gem添加。 一切正常,但在尝试编辑保存的结构时,Selectize无法读取其当前部分的字段。 这是我的_part_fields.html.erb: “Select or create a part…”}, {class => “construction_part_select”} %> application.js中: //= require jquery //= require jquery.turbolinks //= require jquery_ujs //= require selectize //= require bootstrap //= require bootstrap-sprockets //= require cocoon //= require_tree . jQuery(function () { console.log(“jQuery”); $(“#construction_part_select”).each(function () { console.log(“iter1”); $(this).selectize({ create: true, sortField: […]

Garlic.js动态生成的字段

我怎样才能让garlic.js处理用Javascript动态生成的字段,例如在这个Railscast中或者使用Cocoon ? 我已经尝试在嵌套字段中明确地包含js文件,但没有运气: = javascript_include_tag ‘garlic’ .nested-fields = f.inputs do = f.input :client_id #etc

Ruby上的ruby是否具有像ASP.NET MVC这样的客户端validation

在ASP.NET MVC中,您可以使用数据注释模型设置客户端validation,该模型类似于ruby on rails中的validation。 然而,创建了一些不引人注目的javascript钩子,它将自动连接表单上的客户端validation。 Ruby on Rails有这样的东西吗?

disable_with后禁用按钮

在我的Rails应用程序中,我在表单按钮上使用:disable_with帮助程序。 该表单通过ajax工作。 如果对象创建成功,我想保持该按钮被禁用。 所以在我的create.js.erb文件中我有: $(‘#my-button’).disabled = true; 。 但是,它不起作用(虽然在控制台中工作正常)。 我怀疑它干扰了Rails的JS for disable_with helper。 我怎么能绕过那个?

jQuery Remotipart将发送到服务器

我正在尝试使用ajax将文件上传到我的Rails应用程序。 为了促进这一点,我已经包含了jQuery.remotipart gem 。 // app/assets/javascripts/application.js //= require jquery.remotipart 我有一个上传文件的表格。 这些文件由CarrierWave处理。 不幸的是,当我提交附有文件的表单时,它似乎没有正确到达我的控制器操作。 params hash将JS对象字符串化为键。 Started POST “/file_imports” for 127.0.0.1 at 2012-11-06 01:00:49 +0000 Processing by FileImportsController#create as JS Parameters: {“object Object”=>{“,”=>{“object Object”=>{“,”=>{“object Object”=>nil}}}}}` 在Chrome的开发工具中,我可以看到这确实是发送到服务器的表单数据: 当我删除remote: true时,表单非常有效remote: true (当然,在这种情况下,它会发送HTML请求而不是JS请求)。 任何人都知道我做错了什么? 顺便说一句,我使用的是Rails 3.2.8和Remotipart 1.0.2(最新版)。 编辑:做了一些挖掘。 看看Remotipart的来源,我似乎无法理解它应该做什么。 例如,在vendor/assets/javascripts/jquery.remotipart.js ,第22行具有以下内容: settings.data = form.serializeArray(); 再向下,设置将通过$.rails.ajax(settings)发送到服务器。 $.fn.serializeArray()方法返回一个JS对象数组。 如果我们将它们分配给jQuery.ajax()调用的data属性,那将解释我在服务器上看到的序列化对象参数。 我们需要传递一个对象作为数据属性,而不是一个对象数组? 但是,当我尝试将数组展平为一个对象时,整个事情就会中断并且HTML请求被发送到服务器而不是JS服务器。 我认为它与jQuery.ajax.processData […]

无法在生产中实例化模块

我只是把我的程序推到了heroku上,我测试的角度加载了以下错误: 未捕获错误:[$ injector:modulerr]由于以下原因无法实例化模块diceAngularApp:错误:[$ injector:unpr]未知提供者:t 它在开发中工作得很好,所以我不确定问题是什么。 要查看错误,您可以访问www.firexion.com/dice页面 我不确定问题的确切位置,所以我不确定要分享哪些代码。 这是github的链接: https : //github.com/Firexion/hundred 我的猜测可能是在角度app.js可能吗?: ‘use strict’; angular .module(‘diceAngularApp’, [ ‘ngCookies’, ‘ngResource’, ‘ngSanitize’, ‘ngRoute’ ]) .config(function ($routeProvider) { $routeProvider .when(‘/dice’, { templateUrl: ‘../../views/dice/main.html’, controller: ‘DiceController’ }) .otherwise({ redirectTo: ‘/dice’ }); }); 或者我可能在我的rails应用程序javascript文件中包含错误,lumen.js: // Lumen // Bootswatch //= require jquery-2.1.0 //= require jquery_ujs //= require lumen/loader //= require lumen/bootswatch […]

是否可以从javascript中调用rails helper方法?

我的application.html.erb [查看文件]中有一个javascript代码块,它接收来自外部api的事件。 我想要做的就是当在javascript代码块中收到事件时,我需要在[application_helper.rb]中执行一个帮助方法。 我在这里经历了大部分的te栈,但找不到任何相关的答案。 javascript代码块如下所示: var pusher = new Pusher(‘b00c9657a0a896f3ec26’); var channel = pusher.subscribe(‘NewOrders’); channel.bind(‘NewOrderArrived’, function(data) { [ I NEED TO CALL THE RAILS HELPER METHOD HERE ] console.log(“got u”) });

Rails 5 – 谷歌地图 – Javascript错误 – initMap不是一个function – 修复一个js问题创建另一个

我多年来一直试图弄清楚如何在我的Rails应用程序中使用谷歌地图。 我目前正在尝试使用Rails 5。 我一直在试图弄清楚如何让我的javascript在生产环境中工作。 我在这个生产问题post和谷歌地图post中概述了我最近对这些挑战的尝试。 在长代码会话之后,生产环境javascript问题似乎已通过移动解决: 从头标签到身体标签的末尾。 但是,在这样做,谷歌地图javascript现在不起作用。 它给出了一个错误: initMap is not a function 我见过很多其他人提出这个问题,包括这里 。 我已经尝试了这篇文章中概述的解决方案,即替换此脚本: <script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap” async defer> –> 在我的地址视图文件中使用此脚本: <script type="text/javascript" src="http://maps.google.com/maps/api/js?key=” async defer> 关键的区别是删除了“&callback = initMap”。 这在控制台检查器中没有出现任何错误。 但是,它也不显示地图。 我通过修复生产问题创建了一个新问题。 任何人都可以看到我需要做什么才能获得谷歌地图渲染(不破坏生产环境js)?

Twitter Bootstrap Modal无法在Rails中运行

我还是相当新的Rails和twitter bootstrap 。 我正在处理一个模态,但我收到一个“NoMethodError – undefined方法’渲染。’” 当我从my_release.js.erb页面中删除(“”代码时,它会消失,但不会出现任何窗口。 还有错误,甚至不允许我的项目从初始索引页面加载,它引用我的views/layouts/application.html.erb第6行,这是我的 所以我假设我的.js完全出了问题 我一直在研究我在下一页上看到的例子 – https://coderwall.com/p/ej0mhg 我正在尝试将此模态示例添加到我的现有项目中。 以下是我的代码的一些片段供参考: gem文件: gem ‘rails’, ‘3.2.13’ gem ‘bootstrap-sass’, ‘2.3.2.1’ …. …. group :assets do gem ‘sass-rails’, ‘~> 3.2.3’ end …. …. 的application.js …. //= require bootstrap-modal //= require bootstrap …. 的routes.rb get “project/new_release” => ‘project#new_release’, :as => :new_release controller.rb def new_release respond_to do […]

Rails文件下载和查看更新 – Howto?

这似乎应该是直截了当的,但我很难过。 我有一个视图控制器的链接,最终使用send_data将文件下载到用户的硬盘驱动器。 这非常有效,它使当前视图显然不受影响。 但现在我希望该页面在下载完成后提供一些反馈。 在send_data方法调用之前,我天真地在控制器中添加了类似下面的代码: flash[:notice] = “Nice work, hot shot!” send_data file, :filename=>fullname+”.txt”, :type=>”text/plain” 但这不起作用,因为当前视图没有重新加载,让我有机会显示flash var。 我也尝试为此操作添加一个RJS视图,但这导致旧的DoubleRender错误,因为send_data也是一个渲染操作。 那么……呃……运行send_data后如何将数据传回当前视图? 或者还有另一种解决这个问题的方法吗? 谢谢! 亚伦。