如何采摘驼峰案例栏

时间:2014-02-27 16:09:01

标签: sql ruby ruby-on-rails-3 postgresql activerecord

我正在尝试从表中提取一个列。该命令似乎失败了,因为我的列名是camel case(practiceType)。这是我的错误,模型和架构:

> Task.pluck 'practiceType'
   (0.5ms)  SELECT practiceType FROM "tasks"
PG::Error: ERROR:  column "practicetype" does not exist
LINE 1: SELECT practiceType FROM "tasks"
               ^
: SELECT practiceType FROM "tasks"
ActiveRecord::StatementInvalid: PG::Error: ERROR:  column "practicetype" does not exist

task.rb

class Task < ActiveRecord::Base
  attr_accessible :name, :practiceType
[...]

schema.db

  create_table "tasks", :force => true do |t|
    t.string   "name"
    t.string   "practiceType"
  [...]

正确的解决方案可能是将列名转换为蛇形,但我更愿意避免这种情况,因为我担心会破坏我的应用程序。是否有一个快速而肮脏的解决方案可以让我的查询运行?

1 个答案:

答案 0 :(得分:5)

这很奇怪。

试试这个。似乎工作正常。

Task.pluck('"practiceType"')