我有一个简单的jquery-(ujs)脚本,它在页面上的不同字段中添加了一些值。(没有AJAX)
这在rails 3.2开发模式中运行良好,但是它根本不运行在生产模式中。
application.js文件是:
//= require jquery
//= require jquery_ujs
//= require_tree .(我在这个目录中有我的adder_func.js文件)。
我在Gemfile完成的包更新中有‘jquery’。我重新生成了资产管道
rake assets:clean
rake assets:precompile但是,在生产模式下,编辑字段不会更新相关字段。
在开发模式下运行相同的应用程序
rails slocalhost:3000/pagexxx和javascript工作。
有了phusion乘客-- apache2 localhost:80/pagexxx,除了javacscript之外,一切都正常工作。
样式表和图像等都是从单个文件"application.css“中交付的,其中有一个"applicaton.js”,其中包含了我的函数。在使用javascript的控制台上没有错误。这是一笔资产项目.但我看不出我做错了什么。
发布于 2014-03-02 17:05:10
问题是javascript目录中的js库文件很糟糕。我在javascripts目录中有4个js库。原型,拖放,效果和control.js -我不需要他们,但他们在那里的rails 2.3天,我从来没有费心摆脱他们。
我把它们拿走了一切都正常。
有两种可能性--一种是jquery库中有一个“冲突”的函数名。或者是缺少语法错误,我认为是后者。
当在开发模式中单独处理文件时,除非脚本被使用,否则坏文件不会影响任何事情。但是,当链轮将它们合并到一个application.js文件中时。然后你就会遇到这样的问题。
资产预编译不会给出这样的冲突或问题的警告/错误消息,这是令人沮丧的。
发布于 2014-03-02 07:39:39
检查production.rb中的config\environments,并检查是否需要对资产进行任何配置。根据您的设置,您需要在这里手动添加js文件。
搜索这一行:# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
https://stackoverflow.com/questions/22124260
复制相似问题