草庐IT

non-member-functions

全部标签

ruby - Delayed_job : how to use handle_asynchronously to work with a function?

函数是:defcreateuser(name,pass,time)putsname,pass,timeend我试试:handle_asynchronously:createuser("a","b","c")得到一个错误:语法错误,意外'(',期待keyword_end谢谢。===编辑===日本的用户数据库和北京的网络服务器。所以我用这种方式来创建用户。defcreateuser(name,pass,time)Net::HTTP.get(URI.parse("http://www.example.net/builduser.php?hao=#{name}&mi=#{pass}&da=#{

ruby-on-rails - ruby rails : Unit Testing non activerecord models and still load fixtures

我可能遗漏了一些东西,但我陷入了这种情况:我有一个非activerecord模型,我想对其进行测试。我从Test::Unit::TestCase派生了它的测试用例类。但是,模型的测试用例类在其自身内部使用了其他activerecord模型类,我想为它们加载固定装置。我的问题是fixtures类方法仅在我从ActiveSupport::TestCase继承测试用例类时才可用(它在ActiveRecord::TestFixtures包含在ActiveSupport::TestCase中)。任何帮助,因为运行测试都会给我错误:未定义的方法“fixtures”(这是可以理解的),如果我从Act

jquery - 在 rails 中通过 remote_function 中的表单生成器?

我有选择框,在更改时我需要获取值,并通过远程函数从数据库中获取一些字段名称,然后根据从选择框中选择的选项进一步生成这些字段。问题是字段在f.form_for中,所以正在使用具有选择框的formbuilderf。所以当我在Controller中通过ajax呈现部分时,我收到错误消息,因为我没有引用到本地表单生成器f。有谁知道我如何或是否可以获取对表单生成器的引用,或者是否可以在远程函数调用中传递它,然后在部分中传递给我的本地人?非常感谢,任何帮助都会很棒,因为很长一段时间以来一直停留在这个问题上!干杯rake 最佳答案 我遇到了同样的

ruby - 错误 "non-absolute home"通过网络 :SSH

有问题的代码Net::SSH.start('servername','user')这将返回“非绝对主页”。“用户”实际上有一个主目录。一种建议的方法是使用IdentityFile的完整路径修改~/.ssh/config。这并没有解决问题。其中最疯狂的部分是,如果通过irb或控制台调用,代码可以正常工作。当我们尝试从类方法(使用相同的代码)中调用它时,它会返回“非绝对主页”错误。“用户”也可以通过命令行ssh进入服务器而不会出现问题。服务器正在运行Ubuntu。更新感谢@Phrogz-解决方法是将ENV['HOME']设置为'/home/deploy'。但是,我还没有弄清楚为什么$HOM

ruby-on-rails - Rails 和 attr_accessible : is there a way to raise an exception if a non-mass-assignable attribute is mass-assigned?

如果尝试批量分配attr_accessible不允许的属性,是否有办法让Rails引发错误?这在开发中会很方便,可以提醒我为什么我Shiny的新模型不起作用,也有助于登录生产环境以检测恶意事件。我正在使用Rails2.3.8,但可能很快就会迁移到3。 最佳答案 从Rails3.2开始,这不再需要monkeypatching——rails现在提供了这种行为。将其放入development.rb和test.rb:config.active_record.mass_assignment_sanitizer=:strict

ruby-on-rails - 弃用警告 : Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s)

我将我的Rails5.1.4应用更新到了5.2.0。我的一个模型中有以下范围:scope:by_category,lambda{|category_slug|category_ids=Category.find_by(slug:category_slug)&.subtree_idswhere(category_id:category_ids)}由于该范围,Rails返回以下错误:DEPRECATIONWARNING:Dangerousquerymethod(methodwhoseargumentsareusedasrawSQL)calledwithnon-attributeargume

Ruby module_function,调用模块的私有(private)方法,在模块的类方法样式中调用显示错误

test_module.rbmoduleMyModuledefmodule_func_aputs"module_func_ainvoked"private_bendmodule_function:module_func_aprivatedefprivate_bputs"private_binvoked"endendclassMyClassincludeMyModuledeftest_modulemodule_func_aendend从类中调用模块函数c=MyClass.newc.test_module输出1:$rubytest_module.rbmodule_func_ainvoked

ruby - 表示 "at least one non-digit"的正则表达式

我想根据这个模式验证用户名:允许的字符:字母、数字、连字符、下划线第一个字符必须是字母或数字用户名不能全是数字这个正则表达式满足上面的1和2,但是我想不通如何满足3:/^[a-zA-Z\d][\w\-]+$/(我正在使用Ruby,如果相关的话) 最佳答案 不是很高效,但是很简单:/^(?!\d+$)[a-zA-Z\d][\w\-]+$/前瞻只是意味着:“后面不是一串数字,一直持续到最后”。 关于ruby-表示"atleastonenon-digit"的正则表达式,我们在StackOver

ruby-on-rails - Rails 3.1 与 PostgreSQL : GROUP BY must be used in an aggregate function

我正在尝试加载按user_id分组并按created_at排序的最新10个艺术。这适用于SqlLite和MySQL,但在我的新PostgreSQL数据库上出错。Art.all(:order=>"created_atdesc",:limit=>10,:group=>"user_id")ActiveRecord错误:ArtLoad(18.4ms)SELECT"arts".*FROM"arts"GROUPBYuser_idORDERBYcreated_atdescLIMIT10ActiveRecord::StatementInvalid:PGError:ERROR:column"arts.i

ruby-on-rails - 重定向到某个页面而不是 :notice when non-confirmed user logs in

如何将登录到特定页面的未确认用户重定向到某个页面而不是显示:notice(“您必须确认您的帐户”)。使用Devisegem(最新)这个问题:(Devise-Redirectedtopageifaccountisn'tconfirmed)提供了这个解决方案:#config/initializers/my_strategy.rbWarden::Strategies.add(:my_strategy)dodefvalid?trueenddefauthenticate!u=User.find_for_authentication(:email=>params[:email])ifu.nil?|