草庐IT

where-object

全部标签

ruby-on-rails - 跳过 :touch associations when saving an ActiveRecord object

有没有办法在保存时跳过更新与:touch关联的关联?设置:classSchool我希望能够在跳过触摸的地方执行如下操作。@school=School.create@student=Student.create(school_id:@school.id)@student.name="Trevor"@student.save#CanIdothiswithouttouchingthe@schoolrecord?你能做到吗?像@student.save(skip_touch:true)这样的东西会很棒,但我还没有找到类似的东西。我不想使用像update_column这样的东西,因为我不想跳过A

ruby-on-rails - Ruby 中的 Object::private 和 Object::public 是什么?

这些方法是什么?覆盖它们有多糟糕?irb(main):001:0>Object::respond_to?('private',true)=>trueirb(main):002:0>Object::respond_to?('public',true)=>true当尝试为模型定义一个名为private或public的范围时,问题出现在Rails中。由于修复了错误https://rails.lighthouseapp.com/projects/8994/tickets/4167-activerecord-named_scope-using-columns-as-the-name-is-bug

ruby-on-rails - 使用 Form Object 时应该如何处理编辑和更新操作?

我有以下表单对象来管理复杂的嵌套表单。表单=simple_form_for(@profile_form,:url=>profiles_path)do|f|...路线resources:profilesControllerclassProfilesController表单对象classProfileFormincludeActiveModel::ValidationsincludeActiveModel::ConversionextendActiveModel::Namingdefinitialize(profile_id=nil)ifprofile_id@profile=Profile

ruby - 如果 `main` 是 `Object` 的实例,为什么我不能调用它?

当我输入self时,我得到一个返回值main。我做了这个测试:main2=Object.new然后我可以调用main2,它会返回一些东西,但是当我调用main时,它会引发一个undefinedvariable错误。这是怎么发生的?以下是我在其他网站上发现的关于这个顶级环境如何工作的假设:classObjectObject.new.instance_evaldodefself.to_s"main"endprivate###Yourprogramgetsinsertedhere...##endend这对我来说很有意义。 最佳答案 “Wh

ruby-on-rails - 主要 :Object (NoMethodError) 的未定义方法 `require_relative'

在尝试更新OpenSSL时-我(似乎)破坏了笔记本电脑上Ruby和Rails的所有内容。即使在通过gemuninstall和rvmremove卸载ruby​​和rails之后,我仍然遇到此错误:Drews-MacBook-Pro:bookstoredrewwyatt$railsserverbin/rails:3:undefinedmethod`require_relative'formain:Object(NoMethodError)几个月来一切正常,直到我四处乱逛-更糟糕的是,我什至不确定我做了什么把事情搞砸了。额外信息Drews-MacBook-Pro:bookstoredreww

ruby - 调用 ObjectSpace.count_objects 时哈希键的含义是什么?

在Ruby1.9(YARV)中,您可以获得所有当前已分配对象的计数,如下所示:ObjectSpace.count_objects它返回一个像这样的散列{:TOTAL=>1226560,:FREE=>244204,:T_OBJECT=>26141,:T_CLASS=>9819,:T_MODULE=>1420,:T_FLOAT=>287,:T_STRING=>260476,:T_REGEXP=>4081,:T_ARRAY=>72269,:T_HASH=>14923,:T_STRUCT=>4601,:T_BIGNUM=>7,:T_FILE=>16,:T_DATA=>54553,:T_MATC

ruby - 为什么 Ruby 定义 Object#=~?

阅读对anotherquestion中的答案的评论后并做了一些研究,我看到=~是在Object上定义的,然后被String和Regexp覆盖.String和Regexp的实现似乎采用了另一个类:"123"=~"123"#=>TypeError:typemismatch:Stringgiven/123/=~/123/#=>TypeError:can'tconvertRegexptoString虽然=~是为Object定义的,但是+不是:Object.new=~1#=>nilObject.new+1#=>undefinedmethod`+'for#为什么要定义Object#=~,而不是将=

ruby-on-rails - vim/macvim : locate where a method/symbol is defined

我的大部分Ruby+RubyonRails开发都使用macvim/vim。目前是否有一种方法可以跳转到项目中定义方法的位置,即使它与调用它的位置不在同一个文件中?与语言无关的方式或特定于Ruby/Rails的方式均可。 最佳答案 我推荐使用ctags插件,BryanLiles制作了一个很好的截屏视频,介绍如何在Rails开发中使用它。http://smartic.us/2009/04/05/using-ctags-in-vim/来自他的页面:不那么完整的备忘单:^]–查找标签^T——倒退:tags–显示你去过的地方:tag–进入你的

ruby - 在 object.initialize 中,使用 self 是不是更好。超过 @?

有一种约定,在可能的情况下,通过对象的实例变量来引用对象的属性。PracticalObject-OrientedDesigninRuby说:Alwayswrapinstancevariablesinaccessormethodsinsteadofdirectlyreferringtovariables...这显示了一个例子,我已经释义了:classGearattr_reader:chainring,:cog...defratio#thisisbad#@chainring/@cog.to_f#thisisgoodchainring/cog.to_fend我看到使用实例变量创建新对象的最常

ruby - 主要 :Object 的未定义局部变量或方法 ` '

有时,以下会导致奇怪的错误:>nil|| 4NameError:undefinedlocalvariableormethod` 4'formain:Object>nil|| []NameError:undefinedlocalvariableormethod` 'formain:Object这是什么原因? 最佳答案 您不小心在Mac上键入Alt+Space,这会产生non-breakingspace.Ruby不将其视为空格,而是将其视为变量名的一部分。然后它提示变量不存在。SomepeopleliketoremapAlt+Space