Tag: javascript

在rails中提供静态JSON目标文件

如何从rails中的文件提供静态JSON对象? (我想在ajax调用中访问它)? 什么是最好的方法?

如何在Ace编辑器中启用实时语法检查

Ace Editor具有实时语法检查function ,可以检查代码是否因语法错误而被输入。 我有一个Rails 3.2站点,每个编码页面都包含Ace文件。 我在javascript中添加了一个require语句来告诉Ace工作文件在哪里,但它仍然无效。 如何使实时语法检查工作? 每个编码页面包括: Ace文件位于ace-src文件夹中。 我将此代码添加到ace-editor.js: require(“ace/config”).set(“workerPath”, “/assets/ace-src”);

Rails – 从控制器触发javascript事件

我正在考虑实施类似下面的内容,并且想知道a)如果由于某种原因我可能是一个非常糟糕的想法,我没有想到,并且b)如果没有 – 是否有现成的gem可以做到这一点。 基本上,我希望能够从我的rails控制器排队javascript事件,以便在下一次渲染时,所有排队的事件都将被触发并从队列中删除。 有点像闪存机制,但对于事件而言。 例如: 在我的控制器中: def create if resource.create add_event(‘resourceCreated’, :id => resource.id) end end 在我的应用程序布局中,例如: %javascript – @events.each do |e| $(document).trigger(#{e.event_name}, #{e.event_data}) 有什么想法吗? 编辑:这将是有用的,例如,当创建项目时,服务器可以重定向到所述项目的编辑表单,或者可以重定向到相关控制器的索引操作。 这些页面不知道刚刚创建了一个项目。 但是,如果项目是成功创建的话,我想做一些像关闭对话框窗口的事情,但如果不是,则将其保持打开状态,或者我可能需要知道任何其他可能的原因。 显然不仅仅与创造有关,这只是我用来说明问题的例子 编辑:赏金去任何以令人信服的方式说服我这是一个好/坏的想法或提供更好的选择

在上传到远程网站期间缩小/调整video大小

我有一个用Ruby编写的web应用程序,它使用一个表单将video从用户上传到服务器(我实际上使用的jquery上传器直接上传到s3,但我不认为这是相关的)。 为了减少video的上传时间,我想缩小它,例如,如果video大小为1000×2000像素,我想将其缩小到500×1000。 在客户端上传video时,有没有办法这样做? 有没有可以做到这一点的JavaScript库?

在rails控制器中,如何防止双重提交(当用户双提交按钮或按两次输入时)?

好吧,一切都在标题中,但我会解释一下:-) 我的rails应用程序包含许多表单(Ajaxified或不Ajaxified)。 为了防止用户提交两次或更多的表格,我使用Javascript。 这是一个Ajaxified表单的场景: 用户提交表单(clic或enter) javascript禁用提交按钮 rails控制器执行操作(如Soap请求或DB中的插入) rails控制器更新页面并在必要时启用提交按钮(如果有错误) 现在我想添加服务器端代码,以便在用户绕过javascript时保持真正干净。 有什么建议?

JS文件双重包含在rails app中

我有几个rails 3.1应用程序,我在所有这些都遇到了这个问题。 我有一堆js文件包含在我的application.js文件中。 这是我的application.js: //= require jquery //= require jquery-ui //= require jquery_ujs //= require_self //= require_tree . 问题是,当development.rb,我将config.assets.debug设置为true时,我的所有javascript文件都会被包含在标头中。 实际上,它们并未明确地包含在内,而是单独包含一次,一次包含在已编译的application.js文件中。 js包含标签如下所示: … 那到底是什么? 结果是各种JQuery onClick()行为正在执行两次,其他废话。 这有什么问题? 为了记录,这是我的整个development.rb文件: Geobooks::Application.configure do # Settings specified here will take precedence over those in config/application.rb # In the development environment your application’s code is reloaded on # every request. This […]

Rails 4:将变量传递给javascript

我已经尝试了很多方法并且遵循了Ryan Bates的指南,但无论我做什么,我仍然未定义。 application.html.erb </body application.js.erb var datadump = ($(‘#trackers’).data(‘trackers’)) console.log(datadump) //returns undefined in console 查看页面源我可以看到变量 我现在正在传递User.count只是为了保持简单,但我需要传递@trackers_count,它在应用程序控制器的before_action中实例化。 一旦我在这里找出问题,我应该能够解决这个问题。 有什么建议? 更新 – 我已将所有变量简化为仅跟踪器,而不是trackers_count,以防止语法和更新代码中的任何错误反映出来。 答案更新 – 我选择了正确的答案,因为如果你想传递任何变量ASIDE FROM CURRENT_USER那些方法是完美的。 但是,您无法使用JS中的current_user访问任何内容,因为它在窗口之前加载,因此无法知道current_user是谁。 这是一个真正的痛苦,但我只是做了很长的路,并通过传入json和ajax请求访问我需要的信息。

将Rails JSON变量传递给javascript变量

我的Ruby on Rails控制器中有一个Global JSON变量。 它看起来像@rails_side_json = {:name =>’Will’,:age => 23} .to_json 我希望将其分配给我的javascript变量( var javascript_side_json ),该变量位于我的名为custom.js.erb的javascript文件中 赋值完成后javascript_side_json变量中的值应该等同于我编写var javascript_side_json = {“name”:“Will”,“age”:23}; 我无法通过编写var javascript_side_json = 来实现这一点 我怎样才能做到这一点? 我需要在多个文件中进行更改吗?

Webpack模块构建失败的意外令牌(rails反应构建)

我正在进行react / rails构建,并首次使用webpack和babel。 我正在使用两个文件并收到错误 : 错误在./app/assets/frontend/main.jsx中 模块构建失败: SyntaxError:/Users/cls/GitHub/rails_react/app/assets/frontend/main.jsx:意外的令牌(6:6) 第6行是: 这是main.jsx文件 import Greet from ‘./greet’; class Main extends React.Component { render() { return ( ); } } let documentReady = () => { React.render( , document.getElementById(‘react’) ); }; $(documentReady); 这是greet.jsx文件: export default class Greet extends React.Component { render() { return Hello There } } 这是我的webpack.config: module.exports […]

Rails 3:如何从Controller发送Javascript代码?

当通过Ajax调用MyController foo方法时,它可能返回如下的Javascript代码: class MyController “alert(‘Hello’);” end end 当正常调用foo (而不是通过Ajax)时,是否可以执行类似的操作来返回Javascript代码? 我会做这样的事情: class Job < ApplicationController def edit if user_type == 'demo' [Here I would like to display a Javascript alert saying that the job cannot be edited in demo mode. How would you do this?] else @job = Job.find(params[:id]) end end end