草庐IT

【JavaScript】18_面向对象,类与属性

全部标签

ruby - 类对象,单例类

我在玩ruby​​元编程,我有一个问题。我有一个类:classKlassclassyeahKlass.instance_eval"@x"#=>nil为什么?在变量a中我有一个单例类,对吗?并且Klass.instance_eval在单例类的上下文中执行:Klass.instance_eval"defyeah;puts10;end"Klass.yeah#=>10此外,解释器中的Klass指向类的上下文,是吗?a指向单例类的上下文?哪个表示a.class_eval和a.instance_eval?我这样做:a.instance_eval"defpops;puts0;end"a.class_

ruby - ruby 中 groovy 的链式属性是否有等效的 null 预防?

常规:如果有my_object->访问'name'并大写my_object?.name?.capitalize()对于ruby​​来说,避免nil对象访问属性的等效项是什么?谢谢 最佳答案 这适用于Rails:my_object.try(:name).try(:capitalize)如果你想让它在Ruby中工作,你必须像这样扩展Object:classObject###@person?@person.name:nil#vs#@person.try(:name)deftry(method)sendmethodifrespond_to?

ruby-on-rails - Rails as_json 问题 - 如何有效地包含嵌套对象?

我遇到了一个问题,我正在使用as_json方法,以及如何有效地返回JSON中的对象AND它也是belongs_to对象作为JSON,其中belongs_to对象具有它自己的belongs_to对象。代码可能会更好地解释它。无效的方式警报类classAlert:message)endend消息类defas_json(options={})super(methods:[:timestamp,:num_photos,:first_photo_url,:tag_names],include:{camera:{only:[:id,:name]},position:{only:[:id,:name

ruby-on-rails - 让 Rails 2.3.x 忽略 i18n gem

我有一个使用Rails本地化功能的Rails2.3.5项目。我也碰巧安装了Rails3beta(这取决于i18ngem)。Rails2.3.5会愉快地自行处理本地化(没有安装i18n),但是如果i18ngem可用,它会使用它。最近我升级了我的gem,现在安装了i18n的0.3.7和0.4.0版本。当然,Rails想要加载和使用导致我的项目出错的最新版本。我尝试将gem版本设置为0.3.7以解决网络应用程序中的错误。但是,我们使用resque和resque_mailer来延迟消息的发送。当工作人员从队列中选取邮件程序作业时,它会忽略我在environment.rb中的config.gem

ruby-on-rails - 我应该什么时候验证 ActiveRecord 关联对象的存在与它的 ID?

假设我有一个像这样的ActiveRecord关联:classCity没有州的城市应该是无效的。似乎这两个都是可能的验证:validates:state,presence:true#ORvalidates:state_id,presence:true我猜它们是相同的,因为:belongs_to创建方法state和state=state=设置state_id但是,我刚刚修复了一个失败的规范,方法是将其更改为检查id而不是对象。这两种验证方式都可以接受吗?如果是这样,您会在什么时候使用其中之一? 最佳答案 validates:state将

ruby - 如何在 Ruby 1.8.7 中创建具有特定时间的 Time 对象?

在Ruby1.9.2中我们可以做:Time.new(2008,6,21,13,30,0,"+09:00")如何在Ruby1.8.7中做同样的事情? 最佳答案 根据您的需要,您可以使用Time.utc、Time.gm(Time.utc的同义词)或Time.local。这三个都使用参数来设置特定的时间和日期。http://www.ruby-doc.org/core-1.8.7/classes/Time.html 关于ruby-如何在Ruby1.8.7中创建具有特定时间的Time对象?,我们在

Ruby - 动态地向类添加属性(在运行时)

这个问题在这里已经有了答案:addingattributestoaRubyobjectdynamically(6个答案)关闭8年前。我正在寻找一种在运行时或更好的方式向我已定义的类添加属性的方法:classClientattr_accessor:login,:passworddefinitializeargs={}self.login=args[:login]self.password=args[:password]endend但是,我有这个散列{:swift_bic=>"XXXX",:account_name=>"XXXX",:id=>"123",:iban=>"XXXX"}我希望这

ruby - 类/对象悖论混淆

在TheWellGroundedRubyist(excerpt)一书中,DavidBlack谈到了“类/对象鸡和蛋的悖论”。我很难理解整个概念。有人可以用更好/更简单/类比/其他术语解释它吗?引用(强调我的):TheclassClassisaninstanceofitself;thatis,it’saClassobject.Andthere’smore.RemembertheclassObject?Well,Objectisaclass...butclassesareobjects.So,Objectisanobject.AndClassisaclass.AndObjectisacla

ruby-on-rails - 如何使用 I18n gem 翻译电子邮件正文?

我正在使用RubyonRails3.1.1,我正在尝试翻译电子邮件正文。我创建/声明了所有必要的“东西”(YAML文件、键/值对……)以使I18ngem正常工作:使用默认语言(:en)可以毫无问题地发送电子邮件).然后我添加了一种新语言,并完成了使I18ngem与另一种语言一起工作并在URL中始终获得locale=de参数所需要做的一切。classApplicationController然而,当我发送电子邮件时,即使正确设置了区域设置(例如:locale=de),发送的电子邮件信息也不会被翻译(那些仍然使用默认的:en语言)。如何使I18n翻译电子邮件正文?我阅读了Localized

ruby-on-rails - 为 memcached 和 Rails 组合片段和对象缓存的最佳方法

假设您有一个显示最新帖子的页面片段,并且您在30分钟后将其过期。我在这里使用Rails。30.minutes)do%>...显然,如果该片段存在,您不需要进行数据库查找来获取最新的帖子,因此您也应该能够避免这种开销。我现在正在做的是Controller中类似这样的东西,它似乎可以工作:unlessRails.cache.exist?"views/recent_posts"@posts=Post.find(:all,:limit=>20,:order=>"updated_atDESC")end这是最好的方法吗?安全吗?我不明白的一件事是为什么片段的键是“recent_posts”,而稍后