草庐IT

safe-publication

全部标签

ruby - 为什么使用 Rails public_method?

我正在阅读AvdiGrimm的书“ObjectsinRails”,他使用了public_method方法,但我不明白为什么。这是代码示例:classBlog#...attr_writer:post_source#...privatedefpost_source@post_source||=Post.public_method(:new)endend为什么要调用Post.public_method(:new)而不是Post.new?这些方法有什么不同还是完全一样?感谢您的帮助。 最佳答案 Post.new不等同于Post.public

ruby-on-rails - ActiveAdmin单表继承公共(public)属性表单重写

我正在使用ActiveAdmin,并且我有一个使用单表继承的项目。我的问题很简单:我的模型的公共(public)部分的形式是否可以只写一次,或者我每次都被迫重写? 最佳答案 您可以使用ruby​​的#to_proc和将proc转换为block的技巧。这是我利用它的解决方案。它允许正常代码重新加载,不扩展/猴子修补任何现有模块,并允许自定义管理定义。在此示例中,Animal是基础STI类,Dog和Cat继承自它。将以下代码放入app/admin/animal.rb:classAnimalAdminConfigattr_reader:o

ruby-on-rails - 给定一个字符串,判断它是否来自 .html_safe 调用?

在RubyonRails中,给定一个字符串,是否可以确定.html_safe是否存在?已经在该字符串上被调用了吗?提问的原因:我想编写一个Controller单元测试来验证html_safe没有在特定字符串上被调用,以证明当该字符串稍后被渲染到在View页面中,Rails将对字符串进行转义(避免可能的XSS漏洞)。我意识到我可以继续在我的测试中实际呈现页面,然后检查呈现的页面主体,但我想知道是否有更直接的方法来做到这一点? 最佳答案 有html_safe?:s='foo's.html_safe?#=>falses='foo'.htm

ruby - 有没有更好的方法来获取 Ruby 对象的公共(public) "properties"?

有没有更好的方法来获取Ruby对象的公共(public)“属性”?defpropsself.public_methods.grep(/.=$/)-["==","==="]end 最佳答案 您的正则表达式不完整:它匹配以任何字符开头的方法,而不仅仅是单词字符。获得所有“作者”的最佳方式是methods.grep/^\w+=$/并且正则表达式可以缩短为methods.grep/\w=$/但不太清楚。 关于ruby-有没有更好的方法来获取Ruby对象的公共(public)"properties

ruby-on-rails - 在任何来源中都找不到 safe_yaml-0.9.2

推送到heroku:----->Ruby/Railsappdetected----->UsingRubyversion:ruby-1.9.2----->InstallingdependenciesusingBundlerversion1.3.2Rubyversionchangedetected.Clearingbundlercache.Old:ruby1.9.2p290(2011-07-09revision32553)[x86_64-linux]New:ruby1.9.2p320(2012-04-20revision35421)[x86_64-linux]Running:bundlei

ruby-on-rails - ruby on rails - 访问公共(public)目录时出错

我想问你是否可以显示数据,我必须保存在/public/my_dir_for_data中。如果我尝试显示此目录中的图像,我会收到“路由错误”。可能当我将数据保存到我的应用程序的根目录时,例如/my_data,一切都会好的...但是我喜欢这种RoR结构应用程序,如果我可以使用中的目录,我会很高兴/公共(public)...存在任何方式,怎么办?(同时安全?) 最佳答案 如果文件存在,rails不会进入Controller堆栈,如果找不到文件,它会认为这是一个动态操作并进入Controller堆栈。因此,如果文件存在于#{Rails.ro

Ruby 类继承 : How to preven a public method from beeing overwritten in the child classes

是否可以防止公共(public)方法在子类中被覆盖?classParentdefsome_method#importantstuffthatshouldneverbeoverwrittenendendclassChild谢谢! 最佳答案 您可以为此目的使用“method_added”和“inherited”Hook:classFoodefself.inherited(sub)sub.class_evaldodefself.method_added(name)ifname==:some_methodremove_methodnamer

arrays - 在 N 个数组中查找公共(public)值

我有n个数组,我想知道这些数组中是否有共同的值。如果我知道数组的数量,我可以这样做:a=[1,2,3]b=[2,4,5]c=[2,6,7]x=a&b&cx==[2]但是,如果您不知道数组的数量,这是不可能的。到目前为止,我已经想出了这个:array_of_integers=[[1,2,3],[2,4,5]....]values=[]array_of_integers.each_with_indexdo|array,index|values=ifindex.zero?arrayelsevalues&arrayendend#`values`willbeanarrayofcommonvalu

ruby-on-rails - 如何将公共(public) API 添加到 Rails 应用程序?

我想向开发人员开放我的Rails2.3应用程序(托管在Heroku上)。我想到了两种方法:使用respond_to|格式|的应用程序,和一个before_filter只允许授权开发者APIkey使用专用于API的第二个Heroku帐户,共享原始应用的数据库。现在,什么会更好:Rails、Sinatra或Grape?我知道这是一个模糊的问题。您有什么好的文章或架构模式可以帮助我吗?谢谢,凯文 最佳答案 我们使用葡萄。它很简单,允许更清晰的分离和语义。API并不是真正的Controller。

ruby - 我怎样才能阻止 Padrino 将编译后的 SASS 放在我的公共(public)/目录中?或者我应该?

我正在玩Padrino,目前正在试验一个非常小的网站,没有数据库,app/目录下只有几个HAML和SASS文件。我注意到,每次我呈现链接到.sass文件中定义的样式表的页面时,它都会将样式表编译为.css并将其存储在public/下。一切都很好,但我还有一些静态Assets存储在public/中,包括图像和其他一些手写的.css文件。这意味着我的public/目录变成了我放在那里的东西和Padrino编译的东西的混合体。因此,查看那里会显示一堆.css文件,其中一些是编译后的.sass文件,其中一些是我实际的主要静态Assets。这令人困惑。有没有什么办法可以阻止Padrino(或Si