jjzjj

cache_control

全部标签

ruby-on-rails - 如果我调用 Factory.build 以使我的 Controller 测试快速,我怎样才能让 Factory Girl 永远不会访问数据库?

我正在寻求使我的Rails测试更快。我只有520个测试,但它们在bash中运行需要62秒,在Rubymine中运行需要82秒。作为典型Controller测试的示例,我使用此代码以@user身份登录并在CommentsController中为我的RSpecController测试创建基本的@comment:before(:each)do@user=Factory.create(:user)sign_in@user@comment=Factory.create(:comment)end您可能会意识到...这很慢。它构建了一个@user,但也为该用户构建了关联。@comment也是如此。所

ruby-on-rails - ActionMailer 最佳实践 : Call method in the model or the controller?

发送电子邮件通常在对模型执行操作后调用,但电子邮件本身是一个View操作。我正在寻找您如何考虑要问自己什么问题来确定将操作邮件程序方法调用放在何处。我见过/使用过它们:在模型方法中-相关但独立的关注点的耦合不良?在模型的回调中(例如after_save)-就我目前的知识水平而言,最好的分离。在Controller操作中-只是感觉不对,但在某些情况下这是构建代码的最明智的方式吗?如果我想知道如何编程,我需要像程序员一样思考,因此学习如何思考特定的编程解决方案值得我独自编码数月。谢谢! 最佳答案 迟到的答案,但我想在这个问题上合理化:通

ruby-on-rails - 未定义方法 `cache' 为 nil :NilClass after upgrading to rails 4. 2.5.1

从Rails4.2.5升级到最近发布的4.2.5.1时,我遇到了这个错误。此错误仅适用于具有呈现无效状态的before_filter的规范,例如renderfile:"public/422",status::unauthorized。我在ruby​​-2.2.2和ruby​​-2.3.0上都收到了这个错误错误存在于action_view解析器方法中,暗示@cache值为nil。然而,在initialize方法中它应该被实例化:@cache=Cache.new我仍在研究可重现的样本,但到目前为止我还不知道@cache怎么可能是nil。这些是在我的test.rb环境中设置的配置变量conf

ruby-on-rails - 在 RoR 中回滚生成的 Controller /模型

我使用脚手架创建了一个模型和Controller文件。后来我发现先在数据库中创建表是个好主意...我的问题是,如果我在数据库中有表,我如何才能恢复生成的文件并重新生成它们?我刚开始学习RoR,所以现在我对最佳实践不感兴趣,只是学习这个FW(RoR)附带的工具箱。还有,你有好的教程推荐吗?我确实知道使用谷歌,只是搜索引擎还不知道(正在努力)如何对教程进行评分。编辑:对于我的最后一个问题,我找到了LearningRubyonRails 最佳答案 尝试railsdestroyscaffoldXXXXX但我感到困惑的一件事是您说“后来我发现

ruby - Controller 中批量更新的最佳实践

我想知道在Controller中允许批量编辑/更新的最佳做法是什么。我真的找不到关于这个主题的文章或指南。 最佳答案 我看到您用REST标记了您的问题。要以REST方式执行此操作,您需要将集合或更新本身视为资源。假设您正在使用Product对象。您可能会PUT到/product_batches/[someidentifier],这会调用ProductBatchesController#update,但随后您会想知道[someidentifier]中的内容。您可以将ProductBatch设为singularresource这样您就不

ruby-on-rails - Rails Controller 中的实例和类变量

我是Rails和ruby​​的新手。我正在研究类和实例变量的概念。我理解其中的区别,但是当我使用rails中的Controller进行尝试时,它让我感到困惑。我所做的是在类方法之外声明了一个类和实例变量:classBooksController我的印象是@insworld具有“我的爱好”的值,但是当我在index方法中尝试检查@insworld的值时,@insworld返回了一个零值。@@world的值为“HelloWorld”。那么这里发生了什么?它们不是在同一个类中定义的吗? 最佳答案 类在Ruby中也是对象,因此它们可以有自己

ruby-on-rails - 可以安全删除 rails tmp/cache/assets 文件吗?

我似乎在命名为example的子文件夹中有很多它们sprockets%2F76920e6913c3390459175ac8e6dfd44a3它们似乎包含二进制数据。它们的用途是什么,为什么有这么多,最重要的是,可以安全地移除它们吗?他们需要永远的scp。 最佳答案 是的!您可以删除整个tmp目录,它将被重新创建。 关于ruby-on-rails-可以安全删除railstmp/cache/assets文件吗?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - counter_cache 与 has_many :through

我刚刚创建了一个counter_cache字段,Controller看起来像这样。@users=User.where(:sex=>2).order('received_likes_count')User.rb中的关联是has_many:received_likes,:through=>:attachments,:source=>:likes,:dependent=>:destroy问题是counter_cache是在Like.rb的belong_to中声明的,我不知道如何告诉它它是用于has_many:through关联。belongs_to:user,:counter_cache=>

ruby-on-rails - 为什么 Foreman 在我按下 Control-C 之前不输出一些东西?

我刚接触Rails编程,看起来有两个程序可以用来在本地运行我的项目:rackup和foreman。我注意到的一个区别是工头不会输出一些我希望看到的东西,我会看看我是否运行rackup,直到我按ctrl+c关闭服务器。然后所有这些消息都会出现,就好像它们被隐藏了一样。这是有原因的吗?我怎样才能让工头更冗长? 最佳答案 Ifyouarenotseeinganyoutputfromyourprogram,thereisalikelychancethatitisbufferingstdout.Rubybuffersstdoutbydefau

ruby-on-rails - 如何从应用程序 Controller 中读取 ruby​​ on rails 配置值

如果我有这样的配置文件#config/environments/integration.rbconfig.action_controller.session={:domain=>".example.com"}如何从我的应用程序Controller中获取值,例如:#app/controller/application_controllerclassApplicationController 最佳答案 在RubyonRails3及以上版本中,您可以通过Rails.application.config访问配置在更新的版本中,您可以改用Ra