草庐IT

什么是扩散模型(Diffusion Model)?

全部标签

ruby - 为什么我的 rspec 测试在 Ruby 1.9.2 中比在 1.8.7 中运行得慢?

我正在使用spork测试Sinatra应用程序,使用Ruby1.9.2,测试运行时间约为3.5秒,但在Ruby1.8.7中,平均运行时间为1.2秒。我确实尝试过Ruby1.9.3甚至JRuby,但它们在我使用的gems上有一些错误。有没有办法将Ruby1.9.2的rspec性能提高到1.8.7的水平?我的gem文件:source:rubygemsgem'sinatra','1.3.1'gem'thin','1.3.1'gem'haml','3.1.4'gem'datamapper','1.2.0'gem'dm-postgres-adapter','1.2.0'gem'carrierwa

ruby-on-rails - 在 RSpec 中编写请求规范的正确方法是什么?

tl;dr:跳到最后一段最近一直在尝试使用RSpec的requestspecs做一些更有针对性的测试。我的测试主要是这样的:通用cucumber功能规范,即用户转到带有评论的帖子,对评论点赞,作者获得积分modelspecs当模型实际上具有某些功能时,即User#upvote(comment)controllerspecs我在其中stub了大部分内容,只是试图确保代码按照我期望的方式运行viewspecs当View中有一些复杂的东西时,例如仅在用户尚未投票时呈现upvote链接,这些被stub为好吧问题是当我有一些导致错误的特定场景时,一切似乎都在我无法重现它的模型/View层中工作。

Ruby:为什么等号在文字正则表达式中会导致解析错误?

这些解析和执行良好:"=".scan(/=/)"=".scan(/=/)这会导致“未终止的正则表达式遇到文件结尾”:"=".scan/=/如果我在=之前插入一些内容,错误就会消失:"=".scan/^=/这是怎么回事? 最佳答案 我猜你正在点击thisintheparser:case'/':if(IS_BEG()){lex_strterm=NEW_STRTERM(str_regexp,'/',0);returntREGEXP_BEG;}if((c=nextc())=='='){set_yylval_id('/');lex_state

ruby - `respond_to_missing?` 的第二个参数有什么用吗?

使用method_missing时在Ruby中,它是almostalwaysagoodidea定义respond_to_missing?respond_to_missing?接受两个参数;我们正在检查的方法的名称(symbol),以及一个指示我们是否应该在检查中包含私有(private)方法的bool值(include_all)。现在我感到困惑的是:method_missing不接受任何可能指示它是否应该调用私有(private)方法的参数,如respond_to_missing?做。此外,method_missing无论原始方法调用是在公共(public)上下文还是私有(privat

ruby-on-rails - 为什么在编写 Rails 测试时是 'assert_not' 而不是 '!'?

考虑这个例子,我们想检查是否允许用户使用空白名称(不应该):test"nameshouldbepresent"do@user.name=""assert_not@user.valid?end问题是为什么assert_not存在?如果我们像这样使用assert会不会更好:test"nameshouldbepresent"do@user.name=""assert!@user.valid?end 最佳答案 它可能存在用于从您的断言中删除修饰符,这可能会改变它们的结果或模糊您实际询问的内容。实际上,这主要是一种风格选择。在语言中使用unl

ruby-on-rails - 为什么我的 Rails 服务器渲染时间不加起来?

我的Rails应用程序在暂存服务器上运行速度非常慢,这让我遇到了一些麻烦。最令人困惑的是每个请求的日志输出的最后一行。看起来View和数据库时间甚至不接近整个渲染时间。在一页上,完成时间大约1000毫秒,View大约450毫秒,数据库大约20毫秒。渲染页面所需的其余时间从何而来? 最佳答案 当事情变得神秘时......分析器是你的friend!分析器将统计哪些方法被调用最多以及每个方法调用花费多长时间。ruby-prof当我在RubyLand时,它会帮我解决这个问题,它会生成一个漂亮的调用图(如果需要,可以是html格式),这使得查

ruby-on-rails - 如何使用 has_and_belongs_to_many 将新模型与现有模型相关联

我有两个使用has_and_belongs_to_many建立多对多关系的模型。像这样:classCompetition如果我们假设我已经在数据库中创建了多个竞赛,当我创建一个新团队时,我想使用嵌套表单将新团队与任何相关竞赛相关联。正是在这一点上,我确实需要帮助(已经坚持了几个小时!)我认为我现有的代码已经以错误的方式解决了这个问题,但我会展示它以防万一:classTeamsController还有View...这是我真正卡住的地方,所以到目前为止我不会同时发布我的努力。我想要的是每个比赛的复选框列表,以便用户可以只选择适合的比赛,而不选中不适合的比赛。我真的被这个问题困住了,非常感谢

ruby-on-rails - Rcov:为什么这段代码没有被考虑覆盖?

这是我的Controller:classMyController@list}format.json{render:json=>@list}endendendend...它所基于的助手:moduleMyHelperdefget_list_from_params(param=:id,&on_success)raw_id=params[param]beginid=Integer(raw_id)rescuerender:template=>"invalid_id",:locals=>{:id=>raw_id}elseyieldMyList.new(id)endendend...和我的功能测试(

ruby - 从依赖属性中的 FactoryGirl 模型调用方法

我有一个类似于下面的模型:classFooattr_accessor:attribute_a#ReallyanActiveRecordattributeattr_accessor:attribute_b#AlsoanActiveRecordattributedefdetermine_attribute_bself.attribute_b=some_biz_logic(attribute_a)endend在FactoryGirl1.3中,我有一个看起来像这样的工厂:Factory.define:foodo|foo|foo.attribute_a="somerandomvalue"foo.

ruby-on-rails - 仅当满足某些条件时,如何将 "touch"关联为 `belongs_to` 关联的父模型?

我正在使用Rails3.1.0,并且我想仅在满足某些条件时“触摸”belongs_to关联的父模型。比如此时我有:belongs_to:article,:touch=>true只有当它是“公共(public)的”时,我才会“接触”父模型。也就是说,Article类有一个名为access的属性(@article.access=>public或private),我想在“触摸”之前检查这个值:如果这个值不是public,那么“触摸”它!是否可以在belongs_to关联声明中“直接”进行?如果是,怎么做? 最佳答案 您可以按照您所说的尝试