Tag: 需要

如何在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 lib目录

关于lib目录的问题。 使用lib目录有哪些好的做法? 什么时候应该在app / models或app / helpers上使用? 并且有些相关如何让Rails 3包含lib目录中的文件? 谢谢

lib中的子文件夹

我有一个名为user_searches的模块。 它执行一些不是用户模型核心的搜索,因此,为什么我将责任放在其他地方。 我想组织所有这样的模型,在名为user的lib子文件夹中执行非核心用户function。 现在要在用户模型中包含模块的方法,我必须把… require ‘user/user_searches’ class User < ActiveRecord::Base include UserSearches end …如果文件直接在lib文件夹中,我不需要require,但如果它在子文件夹中,则不需要。 我该怎么办?我不需要这个要求 ?

ruby不需要工作

我是ruby的新手,但我正在研究我的第一个ruby计划。 它目前有两个文件,一个是函数库(存储在lib xgync.rb ),另一个是存储在’bin’中的可执行文件xgync 。 (项目在这里可见https://bitbucket.org/jeffreycwitt/xgync/src )我还为我的/usr/local/bin/xgync创建了一个符号链接,以便我可以从任何地方编写命令xgync {arguments}终奌站。 问题似乎是bin/xgync依赖于库lib/xgync.rb 。 我在bin/xgync编写了这个依赖bin/xgync ,如下所示: $:.unshift(File.dirname(__FILE__) + ‘/../lib’) require “xgync” 但是,我不断收到以下错误: /Users/JCWitt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: cannot load such file — xgync (LoadError) from /Users/JCWitt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /usr/local/bin/xgync:4:in `’ 你能看到我写的东西有什么问题吗? 符号链接可能会以某种方式弄乱事物吗? 谢谢你的帮助 :)

Rails.application.config.autoload_paths与标准Ruby require / require_relative有什么区别?

我在application.rb中看到以下配置: config.autoload_paths += %W(#{config.root}/app/models/custom_pack/base) config.autoload_paths += Dir[“#{config.root}/app/models/custom_pack/custom_container/**/”] config.autoload_paths += Dir[“#{config.root}/app/models/custom_pack/helpers/**/”] config.autoload_paths += Dir[“#{config.root}/app/models/custom_pack/extensions/**/”] 在autoload_paths中: Rails.application.config.autoload_paths.grep /custom/ => [“/Users/dviglione/projects/core/app/models/custom_pack/base”, “/Users/dviglione/projects/core/app/models/custom_pack/custom_container/”, “/Users/dviglione/projects/core/app/models/custom_pack/helpers/”, “/Users/dviglione/projects/core/app/models/custom_pack/extensions/”] 但是这些文件没有被加载。 因为我收到错误: `method_missing’: undefined method `create_element’ for # create_element方法是在应该加载的其中一个文件中定义的。 但是,当我使用require / require_relative时,它确实有效: # /initializers/my_initializer.rb require “custom_pack/base” # models/custom_pack/base.rb require_relative ‘custom_container/base’ require_relative ‘custom_container/parent’ require_relative ‘custom_container/child’ Dir[File.join(File.expand_path(“../helpers”, __FILE__), “*_helper.rb”)].each { |file| require file } Dir[File.join(File.expand_path(“../extensions”, __FILE__), […]

如何包含所有lib文件夹?

我想用简单的方法扩展核心Array类: class Array def to_hash result = Hash.new self.each { |a| result[a] = ” } result end end 我将array.rb放入lib / core_ext并尝试在application.rb中要求它 config.autoload_paths += %W(#{config.root}/lib) config.autoload_paths += Dir[“#{config.root}/lib/**/”] 但仍然undefined method ‘to_hash’ for [“var1”, “var2”, “var3”]:Array获取undefined method ‘to_hash’ for [“var1”, “var2”, “var3”]:Array如果尝试在模型方法中使用它,则为undefined method ‘to_hash’ for [“var1”, “var2”, “var3”]:Array 。 当然,我在代码更改后重新启动了服务器。

从zip存档加载ruby源?

我有一个mod_rails服务器,奇怪的是,磁盘空间非常宝贵。 有没有办法压缩我的应用程序的源代码,比如Python的zipimport ? 这有明显的缺点,所以我可能只是分解并在磁盘空间上花费镍,但我认为它值得一试。

如何在ruby中跳过要求?

我可以有条件地跳过在Ruby中要求文件吗? begin require ‘aws-sdk’ rescue LoadError puts “aws-sdk gem not found” end namespace :db do desc “import local postgres database to heroku. user and database name is hardcoded” task :import_to_heroku => [:environment, “db:dump_for_heroku”] do # code using aws-sdk gem end end 在上面的代码中,我可以要求Ruby在rescue LoadError后不要读取 我可以将整个代码包装在条件中,但这是不优雅的。 我next试了return 。 编辑:添加了一个新问题我是否可以有条件地跳过在同一个文件中加载“更多”ruby代码? 。 抱歉。 没有正确地问这个问题

即使安装了gem,Ruby 2.0.0也无法加载此类文件

我已经尝试了人们在这里谈到的所有其他解决方案,但没有一个已经帮助/应用。 我编写了一个需要电子表格gem的Ruby脚本。 当我使用ruby myscript.rb正常执行脚本时,需要正常工作,但是在运行chmod +x myscript.rb ,然后尝试使用./myscript.rb运行程序时./myscript.rb以下错误…. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’: cannot load such file — spreadsheet (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /Users/fcangialosi/dev/mTC/parse.rb:2:in `’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /Users/fcangialosi/dev/mTC/interpreter.rb:1:in `’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from ./pmcnp.rb:7:in `’ 我的脚本的开头看起来像这样: #!/usr/bin/ruby require ‘rubygems’ require ‘spreadsheet’ 如果有人有任何想法,我会非常感激。

只加载Ruby中使用的类?

如果我加载x.rb , 则加载该文件中的所有类 。 是否可以检查并查看正在使用的类并仅加载这些类? 假设x.rb包含Hello和Goodbye类,并且我的程序只使用Hello类,是否可以只加载Hello类? 很高兴用一个检查文档的脚本,并输出一个只有Hello Class的代码和使用它的代码…如果不存在,那将是一个有趣的github项目,但我认为这不属于我的技能组合atm 。