我有一个类位于/lib文件夹中。它在一个名为mailing.rb的文件中我想在应用程序/Controller的代码中使用此类。我该怎么做? 最佳答案 Rails3不再自动从lib加载文件。在您的application.rb文件中,您可以将lib添加到您的autoload_paths:config.autoload_paths+=Dir["#{Rails.root}/lib"]这样,您的mailer.rb和lib中的所有其他文件将可供您的应用程序的其余部分使用。 关于ruby-on-rai
我正在使用RubyonRails3.2.9。解决与TroubleonextendingRailsinasub-directoryofthe'lib'directory相关的“CustomValidators”的方法就是写出下面的代码(注意文件所在的目录)#lib/extension/rails/custom_validator.rbclassCustomValidator和将config.autoload_paths+=%W(#{config.root}/lib/extension/rails)语句放入config/application.rb文件。这样CustomValidator在
我的/lib文件夹中有一些东西,例如:/lib/some_folder/some_file.rb/lib/some_folder2/some_file2.rb现在在我的Rails3应用程序中,我将引用some_file和some_file2中的方法我如何引用它们而不必根据它们的module::class_name.method完全限定它们? 最佳答案 我认为您可以使用Include语句,如下例所示:module_test.rb:moduleModuleTestclassClass1defdo_somethingputs"Class1
我正在用Rails3开发一个应用程序我如何在Rails的lib类中访问session。谢谢 最佳答案 在Rails中,ApplicationController有一个名为session的方法,使用session[:user_id]来获取session值。因此,如果您想在lib中使用session,则需要在lib类中定义一个将session作为参数访问的方法。lib/your_class.rbclassYourClassdefset_session(session_)@mysession=session_enddefsessionre
我需要覆盖此类中的get_products_conditions_for方法,最好的方法是什么?我已经尝试将其添加到初始化程序中:Spree::Search::Base.class_evaldodefget_products_conditions_for(base_scope,query)base_scope.like_any([:name,:description],query.split)|base_scope.joins("JOINtaggingsontaggings.taggable_id=spree_products.idJOINtagsontags.id=taggings.
我正在为Liquid编写一个自定义标签,并希望在该标签中呈现部分内容。我假设我必须使用render_to_string但我似乎无法让它工作。我尝试过各种方法,包括:ActionController::Base.render_to_string(:partial=>'path/to/partial')但似乎没有任何效果。必须有一些我缺少的简单方法来做到这一点。提前致谢。 最佳答案 render_to_string方法是一个实例方法:ActionController::Base.new.send(:render_to_string,:p
我有一个lib/redirect_follower.rb文件在我使用该文件的地方,我将其包含在require'RedirectFollower'中但是rails正在玩这个错误的硬球:没有要加载的文件--RedirectFollower有什么线索吗?几个小时以来我一直在思考这个问题。已尝试使用application.rb自动加载所有库,但这也不起作用。 最佳答案 require用于包含一个文件,而不是一个类。您需要要求“redirect_follower”,即实际的文件名,而不是类名。您可能还需要将lib添加到包含路径,或者requi
我正在使用Capybara(Selenium驱动程序)访问网站上的某些页面。我只需单击数组中的每个项目,然后单击返回按钮。一切顺利,但每次经过一些迭代后它都会崩溃。这是代码:all(:xpath,'//table[@class="griglia_bordata"]//tr[td]/td/a[1]').eachdo|a|a_js_functions我有输出:javascript:selectModel('130254')Style:RB2132--------------------------------------------javascript:selectModel('30925
RSpec(2.12.2)让我很为难。如果我想在我的一个规范中引用一个类并且该类不在我的/lib目录的根目录中,它会抛出一个错误:nosuchfiletoload--test(LoadError)似乎我的规范可以嵌套在一个文件夹结构中,但是当我尝试并需要一个位于嵌套文件夹中的类时(例如lib/workers/conversion_worker.rb),我收到此错误。我在所有规范中都使用require'spec_helper',但即使对类的路径进行硬编码也会导致相同的错误。采用这种结构:-lib/-class_found.rb-workers/-class_not_found.rb规
我正在尝试在MacOSX10.9.2上构建和安装nokogiriRubygem,这需要libxml2。传递--with-xml2-lib和--with-xml2-include选项似乎没有生效$geminstallnokogiri----with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2--with-xml2-lib=/usr/local/lib设置LDFLAGS和C