草庐IT

dont-use-activator-createinstance

全部标签

ruby-on-rails - rails : Copying attributes from an object to another using the "attributes" method

让模型Quote具有属性[price,description]让模型Invoice有属性[price,description,priority]让invoice模型Invoice中的对象具有属性{price:10,description:'lamp',priority:10}invoice={price:10,description:'lamp',priority:10}假设我想将invoice属性复制到新的quote。quote=Quote.new(invoice.attributes)这会引发一个错误,即priority在模型Quote中不存在。如何将invoice属性复制到新的q

ruby-on-rails - 如何优化 active_admin

上次我遇到active_admin的问题.在我有5000多行数据的表中,它的工作速度非常慢。我该如何优化它?也许有人知道这个模块的一些异步加载插件? 最佳答案 您可以做几件事。默认情况下,ActiveAdmin将关联加载为索引页面上的下拉过滤器。如果未使用这些过滤器,将它们移除会有所帮助,因为它们会实例化该模型的每条记录以构建下拉列表。ActiveAdmin.registerPostdoremove_filter:categoriesend如果您的索引页包含依赖于关联记录的列,则预先加载它们会有所帮助。ActiveAdmin.reg

ruby-on-rails - "use this if it isn' t 空白的 Ruby 速记,否则使用那个“

我有以下代码:url=file.s3_url.blank??file.url:file.s3_url有没有更短的写法?谢谢! 最佳答案 在ActiveSupport中有一个抽象,Object#presence:url=file.s3_url.presence||file.url 关于ruby-on-rails-"usethisifitisn't空白的Ruby速记,否则使用那个“,我们在StackOverflow上找到一个类似的问题: https://stack

ruby-on-rails - Spring 警告 : You're using Rubygems 2. 0.3。至少升级到 Rubygems 2.1.0

我收到错误:警告:您正在将Rubygems2.0.3与Spring一起使用。尝试运行Rails控制台时至少升级到Rubygems2.1.0。我该如何更新它? 最佳答案 尝试运行gemupdate--system来更新Rubygems本身。 关于ruby-on-rails-Spring警告:You'reusingRubygems2.0.3。至少升级到Rubygems2.1.0,我们在StackOverflow上找到一个类似的问题: https://stackov

ruby-on-rails - Time.use_zone 未按预期工作

现在是旧金山太平洋标准时间下午2:54。出于某种原因,此代码块未返回夏威夷HST中午12:54。我在这里错过了什么吗?我希望此代码返回我在夏威夷的当前时间Time.use_zone('Hawaii')doTime.nowend#=>2012-01-0314:54:54-0800 最佳答案 这应该没问题:Time.use_zone('Hawaii')dopTime.zone.nowend 关于ruby-on-rails-Time.use_zone未按预期工作,我们在StackOverflo

ruby-on-rails - rails 4 : how to use named scope with has_many associations

在我的Rails4应用程序项目(模型)has_many视频(模型)中。我在视频模型中有一个命名范围:scope:live,where(is_deleted:0,sent_to_api:1)在我的一个项目View中,我这样做(项目是项目的一个实例):project.videos.live.size我希望得到的是那个特定项目中的项目数量,但我得到的是任何项目中的视频数量。就好像.live不是从.videos返回一个子集而是替换它。我看到它解释了here将命名范围相互链接起来应该与逻辑AND相结合,但是当应用于“关联方法”时[.videos在这种情况下的正确术语]似乎并不即将发生。正确的做法

ruby-on-rails - ruby rails : permission denied when using "rails generate controller welcome"

我在RedHat服务器上使用RubyonRails。当我试图生成一个Controller文件时,我得到了这个错误:[ec2-user@ip-172-31-22-128testApp4]$railsgeneratecontrollerwelcome/home/ec2-user/.rvm/gems/ruby-2.1.2/gems/spring-1.1.3/lib/spring/server.rb:22:in`initialize':Permissiondenied@rb_sysopen-/tmp/spring/fea371aaf9d69cfa58bd12f69b3f1bf6.pid(Err

ruby-on-rails - Rails - 放置非 Active Record 模型的位置(目录)

我们正在构建具有非数据库组件模型的应用程序。我们很想知道Rails社区中的其他人正在做什么来解决这个问题。我们正在为将它们放在哪里而苦恼。我们应该:app/models/domain或app/domain/models或许app/models#BusinessModelsapp/models/ar#ActiveRecordModels或许app/models/domain/#BusinessModelsapp/models/domain/ar#ActiveRecordModels部分原因是我们正在努力解决如何接近Rails标准,以及在多大程度上创建一个适合我们需要的结构。如果我们将对象

ruby-on-rails - Elasticsearch 和轮胎 : Using Mapping and to_indexed_json

在阅读Tire时文档,我的印象是您应该使用mapping或to_indexed_json方法,因为(我的理解是..)使用了mapping提供to_indexed_json。问题是,我发现一些教程同时使用了这两种方法。为什么?基本上,我的应用程序现在可以使用to_indexed_json但我无法弄清楚如何设置某些属性的提升值(因此我开始查看映射的原因)并且我想知道同时使用两者是否会造成一些冲突。 最佳答案 虽然mapping和to_indexed_json方法是相关的,但实际上它们有两个不同的目的。mapping方法的目的是为索引中的

ruby-on-rails - Phusion Passenger Error : You have activated rack 1. 2.1,但是你的 Gemfile 需要 rack 1.2.2

我正在尝试在Dreamhost共享服务器上运行RubyonRails应用程序。到目前为止一切都很好,除了一个我无法解决的奇怪错误。有时,当我访问网络应用程序时,会出现PhusionPassenger错误提示,Youhavealreadyactivatedrack1.2.1,butyourGemfilerequiresrack1.2.2.Considerusingbundleexec.当我只是刷新页面时,它似乎可以正常工作-不再显示PhusionPassenger错误消息。跟随其他堆栈溢出线程和类似的Dreamhostwiki,我将以下内容添加到config/environment.rb