试图查询rails数据库

时间:2014-04-10 16:03:49

标签: mysql sql database ruby-on-rails-3 activerecord

我试图从两个特定的客户端从数据库中提取所有订单,我在rails c中尝试的所有内容都给出了一个错误:

irb(main):008:0> clients = clients.find(name: "CLS_Trials")
NoMethodError: undefined method `find' for nil:NilClass

我的架构是这个

create_table "clients", force: true do |t|
    t.string   "name"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "sku_part"
    t.float    "postage_account"
    t.boolean  "accrue_fees"
    t.float    "pick_pack_per_unit"
    t.string   "logo_file_name"
    t.string   "logo_content_type"
    t.integer  "logo_file_size"
    t.datetime "logo_updated_at"
    t.string   "slug"
    t.boolean  "sub_admin"
    t.boolean  "static_shipping"
    t.float    "static_shipping_amount"
    t.datetime "invoice_stop"
    t.string   "street_address"
    t.string   "city"
    t.string   "state"
    t.string   "zip"
    t.string   "primary_contact_name"
    t.float    "min_postage"
    t.float    "postage_threshold"
    t.integer  "pageviews_today"
    t.integer  "pageviews_yesterday"
    t.boolean  "using_analytics"
    t.string   "sites",                  default: [], array: true
    t.integer  "weather_degrees"
    t.string   "weather_status"
    t.float    "other_fees"
    t.string   "lime_light_user_name"
    t.string   "lime_light_password"
    t.boolean  "using_lime_light"
  end

我知道数据存在,有关如何正确提取我的客户的所有订单并将数据导出到文本文件或exel的任何建议?谢谢大家!

1 个答案:

答案 0 :(得分:0)

试试这个

clients = Client.where(name: "CLS_Trials")

C是资本并删除尾随的'。 因为ruby中的类名必须具有第一个字符大写。在Rails中,模型以单数形式引用。

修改

或者您也可以使用内置帮助

clients = Client.find_by_name('CLS_Trials')

对于模型的任何属性,您可以通过以下

找到它们
obj = Klass_name.find_by_attr_name(attr_value)