草庐IT

collective

全部标签

ruby - "each"、 "foreach"、 "collect"和 "map"之间有什么区别?

这个问题在这里已经有了答案:what'sdifferentbetweeneachandcollectmethodinRuby[duplicate](7个答案)关闭8年前。似乎有很多方法可以在Ruby中循环遍历Enumerable。each、foreach、collect、map等类似方法有什么不同吗?或者有什么理由我不应该在某些情况下使用某些方法?

ruby-on-rails - 如何将 collection_check_boxes 默认选中?

我试图默认选中这行在dbt.text"committed".我尝试了checked的变体&true,但也许我忽略了一些东西。这是Gist的。 最佳答案 这里是关于如何将选中作为默认值添加到collection_check_boxes表单助手的快速回答,因为我花了一些时间才弄明白。把它分成一个block,你可以设置检查和添加类。更多信息,请访问http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_

ruby - 关于Ruby collect 方法的问题

我有一个哈希数组例如:cars=[{:company=>"Ford",:type=>"SUV"},{:company=>"Honda",:type=>"Sedan"},{:company=>"Toyota",:type=>"Sedan"}]#iwanttofetchallthecompaniesofthecarscars.collect{|c|c[:company]}#=>["Ford","Honda","Toyota"]#i'mlazyandiwanttodosomethinglikethiscars.collect(&:company)#=>undefinedmethod`comp

ruby - 为什么Ruby的Array.map()也叫Array.collect()?

每当我看到这样的Ruby代码时:arrayNames.collect{...}忘记collect是什么了,查了一下,发现和map()一样。Map,我能理解,1个字节映射到一个像素,功能是将x映射到y,将2映射到4,将5映射到25等等。但是“collect”这个名字是从哪里来的呢??也许这有助于记住什么是“收集”方法。 最佳答案 它来自旧时代的Smalltalk。Smalltalk使用collect和select而不是map和filter(在许多其他语言中使用)来迭代它的收藏。 关于rub

ruby - 导轨 3.2 : how to find all parents from a collection of children

给定一组“书籍”,找到所有“作者”(无重复)的最佳方法是什么?假设我们有一个经典关联:classAuthor我现在的做法是这样的:@books=Book.where("somecondition")@authors=Author.where(:id=>@books.map(&:author_id))有没有更好的方法呢? 最佳答案 这里有一个方法:@books=Book.where("somecondition").includes(:author)@authors=@books.map(&:author).compact.uniq解

ruby-on-rails - rails 5 : How to pass collection_select values through strong_params in a fields_for?

我已经尝试了所有视频和文章,但仍然找不到将fields_forcollection_select值加入strong_params白名单的解决方案。我花了好几天时间想弄明白(并问了很多人)。如果有人能花时间帮助我,我将不胜感激!我在List和Topic之间有一个多对多的关联,List_Topic充当连接模型。使用form_for,我为List的一个实例(@list)创建了一个表单,然后是一个fields_for:list_topics。在字段中,我创建了一个collection_select,它由Topic.all填充。在我的列表Controller中我有:classListsContr

ruby-on-rails - 带有 :onchange and a :with 的 rails 2.1.2 collection_select

经过大量的搜索和阅读,我得到了一个看起来像这样的collection_select"this.value"},{:onchange=>remote_function(:url=>{:action=>"updatelevel",:controller=>"user",:id=>user.id})}%>但是它没有将选定的值传递给我的Controller,我唯一得到的就是一个nil。我搞砸了where:with应该是的不同组合并尝试了测试字符串,但它似乎从来没有做任何事情。我错过了什么愚蠢的东西吗?是否有我应该查看的“决定性”示例?Rails似乎变化如此之快,以至于很难知道论坛帖子谈论的是哪

ruby - 在迭代器上调用 block 方法 : each. magic.collect { ... }

我有一个带有自定义each-method的类:classCurseArray并且想要调用不同的block方法,如对那些迭代元素的“收集”或“注入(inject)”。例如:curse_array.each_safe.magic.collect{|element|"#{element}isanicesentence."}我知道有一个特定的函数(我在这里称之为“魔法”)可以做到这一点,但我忘记了。请帮忙!:-) 最佳答案 如果一个方法产生了,你需要给它传递一个block。无法定义自动通过自身的block。我能得到的最接近您的规范的是:de

ruby-on-rails - rails 4 collection_select 多个嵌套属性未正确保存

我是Rails的新手,我在使用collection_select保存连接表的嵌套属性时遇到了问题。我有模型post、tag和post_tagging。post_tagging是一个连接表。我想为每个帖子设置多个标签,所以我尝试通过collection_select使用多选,但是当我保存时,只有post_id被插入到数据库中。下面是我的代码和日志。后.rbclassPost标签.rbclassTagpost_tagging.rb(我在post_tagging模型中关闭了对tag_id和post_id的存在验证,这样我就可以获得POST的日志。)classPostTaggingposts_

ruby-on-rails - Rails 低级缓存 : Update cache when ActiveRecord object updated_at changes OR when a new object is added to collection

Rails附带片段缓存和低级缓存。片段缓存的工作原理非常清楚:Railswillwriteanewcacheentrywithauniquekey.Ifthevalueofupdated_athaschanged,anewkeywillbegenerated.ThenRailswillwriteanewcachetothatkey,andtheoldcachewrittentotheoldkeywillneverbeusedagain.Thisiscalledkey-basedexpiration.Cachefragmentswillalsobeexpiredwhentheviewfr