草庐IT

Mysql动态转置复杂的sql查询表

全部标签

ruby-on-rails - 如何在ruby中动态调用类方法

假设我将模型名称保存在一个变量中:"#{class_name.singularize}"我想从另一个Controller查看为此模型定义的列。我试过了send("#{class_name.singularize}.columns")但它试图调用Page.columns作为我当前正在使用的类的方法,而不是Page类。关于如何执行此操作的任何想法? 最佳答案 使用constantize:class_name.singularize.constantize.columns 关于ruby-on-

ruby-on-rails - ActiveRecord 查询 : where a field is not true

我想查找某个字段不正确的所有记录。用于此的有效AR语法是:Dog.where(:stray=>[false,nil])是否有更简洁的方式来查询“nottrue”?到处都必须迎合这种mysql的细微差别,这真的很糟糕。 最佳答案 命名作用域怎么样?scope:not_stray,where("strayISNULLORstray=false")然后使用:Dog.not_stray 关于ruby-on-rails-ActiveRecord查询:whereafieldisnottrue,我们在

sql - Ruby Rails - 使用 created_at 列制作表格

Rubyonrails有t.timestamps方法创建两列,created_at和updated_at。我怎样才能只创建created_at列?这行得通classCreateLinesSources这两个我都想工作但是都失败了classCreateLinesSources和classCreateLinesSources 最佳答案 t.datetime:created_at,null:false就像任何其他专栏一样。由于列名,Rails仍会负责魔术更新。 关于sql-RubyRails-

ruby - 动态获取变量值

我有以下类(class)classUserattr_accessor:name,:age,:addressdefinitialize()self.name="newuser"self.age=19self.address="address"endend如果有一个方法来获取属性的赋值,我想要的是什么。意思是,我有另一种方法来获取上面类中的所有方法名称methods=self.public_methods(all=false)我可以从中获取方法名称(我的意思是名称的getter等),我想要一种方法来传递该方法名称(我将其作为字符串)并获取方法的返回值例如:当我将“name”作为方法名称传递

ruby-on-rails - 向 Rails 模型实例对象动态添加哈希属性?

有模型classPlaylistModel然后在ControllerAction中有这样的代码PlaylistController但是PlaylistModel中(或播放列表表的架构中)没有定义visited属性!看起来一个新属性正在动态添加到对象中。这是正在发生的事情吗?所有这些功能在哪里定义/我在哪里可以阅读更多相关信息。感谢您的帮助! 最佳答案 这是解释的属性setter快捷方式here.它几乎等同于:@item.attributes[:visited]=true 关于ruby-o

ruby - Chef - 使用动态变量创建模板?

我在ChefRecipe上遇到了一些挑战。我是Chef的新手,所以请多多包涵。第1步:我的ChefRecipe安装了RubyPassenger,然后将Passengernginx模块与Nginx一起编译。#Installpassengerandnginxmodulebash"InstallPassenger"docode0}end#Installpassenger#NotethatwehavetoexplicitlyincludetheRVMscriptotherwiseitwon'tsetuptheenvironmentcorrectlybash"Installpassengerng

ruby - 如何优化 ActiveRecord find_in_batches 查询?

我正在使用Rails4.0.0和Ruby2.0.0。我的Post(如在博客文章中)模型与用户相关联,该用户具有用户的user_name、first_name、last_name的组合。我想迁移数据,以便通过外键(即用户ID)将帖子关联到用户。我在posts表中有大约1100万条记录。我在Linux服务器上使用rake任务运行以下代码来迁移数据。然而,我的任务一直被服务器“杀死”,大概是由于rake任务,特别是下面的代码,消耗了太多内存。我发现将batch_size降低到20并将sleep(10)增加到sleep(60)允许任务运行更长的时间,在不被杀死的情况下总共更新更多的记录,但需要

ruby - 如何在 Ruby 中执行复杂的自定义排序?

我有一个如下所示的数组:[{type:'A',price:'0.01'},{type:'B',price:'4.23'},{type:'D',price:'2.29'},{type:'B',price:'3.38'},{type:'C',price:'1.15'}]我需要按type对它们进行分组,然后按price升序对它们进行排序。我可以通过执行以下操作来解决这个问题:boards.sort_by{|e|[e['type'],e['price'].to_f]}不幸的是,这会按字母顺序对type进行排序,而它们应该排序BADC如何按照预先确定的规则对数组进行排序?

Ruby:如何动态创建现有类的子类?

我正在编写使用Object.const_set创建新类的Ruby代码,它非常适合创建新类和实例化它们的实例。但我希望这些新类继承self已经硬编码的类。我找不到方法来做到这一点。这是我的代码:defcreate_model_class(klass_name,klass_vars)klass=Object.const_set(klass_name,Class.new)klass.class_evaldodefine_method(:initialize)klass_vars.each_with_indexdo|name,i|instance_variable_set("@"+name[i

ruby-on-rails - 强制 Rails 3 动态查找器抛出 RecordNotFound 异常?

是否可以强制Rails动态查找器在找不到结果时抛出ActiveRecord::RecordNotFound异常而不是返回nil?例如,如果名称为“Nuka–Cola”的饮料不存在:@not_found=Beverage.find_by_name('Nuka–Cola')而不是拥有@not_found==nil可以吗.find_by_name('Nuka–Cola')方法调用抛出ActiveRecord::RecordNotFound异常?或者我是否必须检查nil并手动抛出异常? 最佳答案 使用bang版本。@not_found=Be