草庐IT

MySQL变量表命名创建

全部标签

ruby-on-rails - 如何在 Rails 中为每个表创建完整的审计日志?

我们最近开始在我们公司插入合规性,并且需要保留对我们当前在Rails应用程序中管理的数据更改的完整历史记录。我们已经获准将每个操作的描述性内容简单地推送到日志文件,这是一种相当不引人注目的方式。我倾向于在ApplicationController中做这样的事情:around_filter:set_logger_usernamedefset_logger_usernameThread.current["username"]=current_user.login||"guest"yieldThread.current["username"]=nilend然后创建一个看起来像这样的观察者:c

ruby-on-rails - CarrierWave:为所有版本化文件创建相同、唯一的文件名

在详细介绍之前,我先开门见山:有没有人想出一种方法让Carrierwave将文件的名称保存为时间戳或每个文件唯一的任意字符串?默认情况下,Carrierwave将每个文件及其替代版本保存在自己的目录中(以型号ID号命名)。我不喜欢这个,因为不是一个目录有1,000个,为了使用大的整数,文件(在我的例子中是图片),我们得到一个目录有1,000个子目录,每个子目录有一个或两个文件。呸。现在,当您将uploader的store_dir方法重写为如下内容时:defstore_dir"uploads/#{model.class.to_s.underscore}/#{mounted_as}"end

ruby - 在 Ruby 中使用一个变量的值作为另一个变量名

我刚刚开始学习Ruby,我编写了一个程序来生成一些数字并将它们分配给变量@one、@two、@three等。然后用户可以通过输入它来指定要更改的变量姓名(例如一个)。然后我需要做一些类似“@[valueofinout]=asd”的事情。我该怎么做,是否有更好的方法,因为我正在考虑的方式似乎不鼓励?我找到了x="myvar"myvar="hi"eval(x)->"hi"但我不完全明白为什么需要第二行。就我而言,我会使用类似的东西@one="21"input="one"input="@"+inputchangeto="22"eval(input)->changeto

ruby - 将 MatchData 中的命名匹配转换为哈希

我有一个相当简单的正则表达式,但我想使用命名正则表达式使其更清晰,然后迭代结果。测试字符串:testing_string="111x222b333"我的正则表达式:regexp=%r{(?[0-9]{3}){0}(?[0-9]{3}){0}(?[0-9]+){0}\gx\gb\g}xdimensions=regexp.match(testing_string)这项工作就像一个魅力,但问题出在这里:dimensions.each{|k,v|dimensions[k]=my_operation(v)}#ERROR!undefinedmethod`each'for#.MatchData对象中

ruby - 在设置环境变量时从 ruby​​ 中退出

我需要在为进程设置环境变量时对进程进行shell处理。我试过这个单线:system"RBENV_VERSION=systemrubyextconf.rb"此语法适用于shell脚本,但不适用于ruby​​。(更新:事实证明此语法毕竟适用于ruby​​,但由于以下原因我未能看到其效果我的特殊用例。)所以我这样做:rbenv_version=ENV['RBENV_VERSION']ENV['RBENV_VERSION']='system'beginsystem"rubyextconf.rb"ensureENV['RBENV_VERSION']=rbenv_versionend我不得不使用这

ruby-on-rails - Ruby:创建沙盒评估?

我的Rails应用程序有关于何时应在页面上显示一些内容的复杂规则。我决定通过在Ruby中编写谓词(简单的“是/否”函数)并将它们存储在数据库中以供后续评估来实现这一点。它非常简单。我主要担心的是安全性:如果有恶意的人知道如何写入数据库,他们可以在数据库中插入任意Ruby代码,然后“您的所有基地都属于我们”。那么是否可以创建一个“沙盒”评估,例如,它已删除所有IO操作? 最佳答案 您可能想要检查“污点”方法和相关内容。这是一个很好的引用:http://ruby-doc.com/docs/ProgrammingRuby/html/tai

ruby - 如何清除 ruby​​ 中 rspec 测试之间的类变量

我有以下类(class):我想确保类url只为所有实例设置一次。classDataFactory@@url=nildefinitialize()beginif@@url.nil?Rails.logger.debug"Settingurl"@@url=MY_CONFIG["myvalue"]endrescueExceptionraiseDataFactoryError,"Error!"endendend我有两个测试:it"shouldlogamessage"doAPP_CONFIG={"myvalue"=>"test"}Rails.stub(:logger).and_return(log

ruby - 如何使用 FactoryGirl 创建一个名为 "alias"的属性?

我只是想知道是否可以使用FactoryGirl创建一个名为“alias”的属性,因为alias是Ruby中的保留字。FactoryGirl.definedofactory:blahdoname"dummy"alias"dummy"endend我已经尝试了各种转义组合,但无法得到任何有用的东西。 最佳答案 Ruby不知道您是在尝试调用名为alias的方法,还是将一个方法作为另一个方法的别名,并默认为后者。你可以通过做来消除歧义self.alias"dummy"即,通过显式指定接收者。这通常是在其他情况下,如果您是调用方法还是做其他事情

ruby - 如何抢救某个命名空间下的所有异常?

有没有办法拯救某个命名空间下的所有异常?例如,我想挽救所有Errno::*异常(Errno::ECONNRESET、Errno::ETIMEDOUT)。我可以继续将它们全部列在我的异常行中,但我想知道我是否可以做类似的事情。begin#mycoderescueErrno#handleexceptionend上面的思路好像不行,有没有类似的可以实现? 最佳答案 所有ErrnoexceptionssubclassSystemCallError:ModuleErrnoiscreateddynamicallytomaptheseoperat

ruby-on-rails - 在 Ruby 1.9 中访问类变量的正确方法是什么?

我正在尝试设置一些类变量来存储Rails应用程序中的路径(但我认为这更像是一个ruby​​问题)基本上我的类(class)是这样的classImage但是当我尝试通过执行Image.path_to_images从我的Controller访问@@path_to_images时,我得到一个NoMethodError当我尝试使用Image.class_eval(@@path_to_images)时,我在ImagesController中得到未初始化的类变量@@path_to_images我四处搜索了一下,我所看到的都说这些会起作用,所以我对此很困惑此外,我尝试像这样用ruby​​控制台定义简