草庐IT

设计实例

全部标签

ruby - 将 stderr 重定向到 Logger 实例

我有一个Logger实例:require'logger'logger=Logger.new('foo.log','weekly')我也想将运行时错误(stderr输出)重定向到日志中。我找到了thisforumthread其中有建议:new_fd=logger.get_logger_file_descriptor$stderr.reopennew_fd但是,Logger没有实例方法get_logger_file_descriptor,我也找不到任何公开的获取日志设备或文件访问权限的方法。如何让所有$stderr输出进入日志? 最佳答案

ruby - 是否可以在不调用初始化的情况下实例化 Ruby 类?

有时,当我编写单元测试时,我需要在不调用initialize方法的情况下实例化一个类。例如,当构造函数实例化其他类时,无论如何我都会用stub替换它们。例如:classSomeClassThatIWillTestdefinitialize@client=GoogleAnalyticsClient.new@cache=SuperAdvancedCacheSystem.newend#...end在测试中,我可能会将@client和@cache替换为stub,因此我宁愿从未调用构造函数。有什么黑魔法可以帮助我解决这个问题吗? 最佳答案 当

ruby-on-rails - 设计自定义登录表单

有什么方法可以将Devise身份验证器指向我的自定义登录表单?标准的、无样式的表单不可用(缺少字段,提交时抛出异常,实际上让我的运行时崩溃了一次。)而且不好看。我有一个100%可用的表单,它实际上可以让人们登录,但如果出现错误,则会显示标准表单,也没有错误消息。类似于“当被要求提供登录表单时,呈现/views/sys/login.html.erb,并在错误时返回到该View并输入错误消息”注意:我已经从另一个问题尝试了以下内容devise_for:users,:path=>'',:path_names=>{:sign_in=>"system/login",:sign_out=>"log

ruby-on-rails - 在 Rails 3 中自定义设计错误消息?

我正在使用设计来处理身份验证。总的来说我喜欢它,但我想稍微自定义一下错误显示。现在我有以下观点。error">"text"%>但是当邮件出现问题时,显示的信息如下:isinvalid。这对用户来说不是很友好,但我找不到设置此消息的位置。它似乎不在devise.en.yml中,但也许我忽略了一些东西。知道在哪里可以自定义错误消息吗?谢谢! 最佳答案 您可以在以下位置的区域设置文件中配置错误消息:/config/locales/devise.en.yml它应该有类似下面的代码,您可以根据自己的喜好轻松修改:en:errors:messa

ruby - 如何限制同一 Ruby 脚本的并发实例?

在Ruby1.9.x中,不允许我的Ruby脚本再次运行或等待前一个实例完成的简单方法是什么?**我希望避免困惑的文件锁定或进程表检查。有没有类似globalmutex的东西或信号量已经在核心?我研究了原生Mutex但这似乎只适用于一个Ruby进程内的线程,而不适用于不同进程。**稍后我可能会添加超时功能,或者限制为N个实例,或者希望使用多个全局锁(每个系统范围的资源一个,最多只能有一个实例)。 最佳答案 这段非常短的代码将卡住在原地,直到/tmp中以您的脚本命名的锁定文件被独占锁定:File.open("/tmp/#{File.ba

iphone - 设计和 Rails 3 中的 http 身份验证

我有一个使用deviseonrails3的应用程序。我想启用http身份验证,以便我可以从iPhone应用程序向我的网络应用程序进行身份验证。如何从我的iPhone应用程序进行身份验证以进行设计?这安全吗?还是我应该进行不同的身份验证? 最佳答案 从设计的角度来看,您有3个选择:1)使用基本的http身份验证:您的iPhone应用程序有一个secretkey-这是在您的iPhone应用程序代码中烘焙的-用于对网络应用程序的每个请求进行身份验证。Google搜索:“设计基本的http身份验证”2)您可以通过在您的iPhone应用程序中

ruby - 列出 Rails Controller 实例变量

我试图列出Controller中的实例变量但想出了irb>HomeController.instance_variable_names=>["@visible_actions","@inheritable_attributes","@controller_path","@action_methods","@_process_action_callbacks"]我在Action上试了一下irb>HomeController.action("index").instance_variable_names=>[]那么Controller实例变量属于什么? 最佳答案

ruby - 如何将实例变量和 HTTParty 发布到使用 OAuth2 的 API

我可以通过以下方式从Oauth2API获取信息:token="TokenIgetfromauthenticatingmyApp"auth="Bearer"+tokenuser=HTTParty.get("APIWebsite",:headers=>{"Authorization"=>auth})我如何将在我的应用程序中生成的内容发布到该API?我有一个实例变量:@contact={"contact":{"name":"JohnDoe"}}我试过这个:token="TokenIgetfromauthenticatingmyApp"auth="Bearer"+tokenuser=HTTPa

ruby-on-rails - Rails,编辑操作不会使用同一模型的许多实例正确填充表单

我是Rails新手,正在做我的第一个项目。另外,英语不是我的母语,所以请多多包涵。我遇到的问题是,我有一个包含同一模型的多个实例的表单,数据创建正确,但当我尝试编辑它时,表单以错误的方式填充。我正在制作一个应用程序来检查是否一切都按照规则进行。要检查的项目在嵌套关联中Chapters->Subchapters->Checks每次提交支票时,都会创建一个CheckRound,并将每张支票的信息单独存储在CheckResults中。CheckRoundshas_many:check_results,inverse_of::check_round,dependent::destroyacce

Ruby 在类外创建实例变量

在任何类定义之外的文件中创建实例变量是什么意思,比如@foo。假设有一个文件test.rb,下面给出了该文件的全部内容。#test.rb@foo="bar"puts@foo它打印"bar",但这是某种包装类中的实例变量吗?使用两个文件进行测试表明有一个main对象,所有内容都包含在其中。这种理解是否正确?a.rb的内容@me=self@a="from-a"b.rb的内容require"./a"@b="from-b"puts@me==self#true(selfreferstothesameobject)putsself.class#Objectputsself.instance_var