草庐IT

some_collection

全部标签

ruby-on-rails - 另一种写法 : if some_variable && some_valiable. size == 2

在Ruby和RoR中,我经常发现自己测试对象是否存在,然后对象的属性是否符合某些条件。像这样:ifparams[:id]&¶ms[:id].size==40...dostuffend有没有更有效的方法来做到这一点?像这样的东西:ifparams[:id].size==40rescuefalse但没有使用救援? 最佳答案 在Rails2.3中,您可以使用Object#try方法:ifparams[:id].try(:size)==40#dostuffendtry在nil上调用(带任何参数)时将返回nil。希望这是有道理的。

Ruby 需要 'some-gem' 在控制台中工作,而不是在 Eclipse 中工作?

好吧,我正在尝试通过“机架”运行一个简单的Web服务器。所以这是我的程序:require'rubygems'require'rack'classHelloWorlddefcall(env)[200,{"Content-Type"=>"text/html"},["HelloRack!"]]endendRack::Handler::Mongrel.runHelloWorld.new,:Port=>9292如果我在控制台中运行它,它工作正常。如果我在Eclipse中运行它,它会以错误结束:/Users/MY_SUPER_SECRET_USER/.rvm/rubies/ruby-1.9.3-p

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

ruby: 优化 => phrase.split(delimiter).collect {|p| p.lstrip.rstrip }

ruby:评估结果与with相同的最优化表达式是什么phrase.split(delimiter).collect{|p|p.lstrip.rstrip} 最佳答案 为清晰起见进行了优化我更喜欢以下内容:phrase.split(delimiter).collect(&:strip)但我认为您想要优化速度。我不知道为什么其他人在猜测。唯一找出更快的方法是对代码进行基准测试。确保调整基准参数-这只是一个示例。require"benchmark"#Adjustparametersbelowforyourtypicalusecase.n=

ruby-on-rails - 如何在编辑表单中预填充 collection_check_boxes?

GitHub存储库:https://github.com/Yorkshireman/mywordlist我用谷歌搜索了这个。我确定有办法,可能需要在html选项哈希中添加一些代码,但我无法解决。有什么想法吗?当访问_edit_word_form.html.erb部分单词时,确实有一个或多个类别,类别复选框都未选中,要求用户再次选择它们,即使他们不想更改类别。:title和:description的文本字段是预先填充的(谢天谢地)。_edit_word_form.html.erb:0%>AND/OR...words/index.html.erb相关部分:words_controller.