2013-04-25 2 views
0

В настоящее время я работаю над инструментом администрирования существующей базы данных и столкнулся с какой-то странной проблемой при подкраске конкретной таблицы.Rails scaffold странная ошибка undefined_method для конкретной таблицы

Вот схема таблицы с помощью rake db:schema:dump:

create_table "locality", :force => true do |t| 
    t.integer "version",    :limit => 8,     :null => false 
    t.string "truth_id",           :null => false 
    t.string "truth_record_id",         :null => false 
    t.binary "deleted",    :limit => 1,     :null => false 
    t.string "internal_code",          :null => false 
    t.string "iso_code" 
    t.string "materialized_path",         :null => false 
    t.string "invariant_name",         :null => false 
    t.binary "published",   :limit => 1,     :null => false 
    t.float "geo_point_latitude",    :default => 0.0 
    t.float "geo_point_longitude",    :default => 0.0 
    t.string "class",            :null => false 
    t.integer "hut_count",      :default => 0 
    t.integer "hotel_count",      :default => 0 
    t.string "destination_url" 
    end 

add_index "locality", ["truth_record_id"], :name => "truth_record_id", :unique => true 

Я использовал schema_to_scaffold драгоценный камень, чтобы создать свой помост из затопленных схемы:

rails g scaffold locality version:integer truth_id:string truth_record_id:string 
    deleted:binary internal_code:string iso_code:string materialized_path:string 
    invariant_name:string published:binary geo_point_latitude:float 
    geo_point_longitude:float class:string hut_count:integer hotel_count:integer 
    destination_url:string 

Этот рабочий процесс работал много другого но при доступе к местным населенным пунктам или Locality.all в консоли rails все я получаю:

irb(main):001:0> Locality.all 
Locality Load (2.1ms) SELECT `locality`.* FROM `locality` 
NoMethodError: undefined method `attribute_method_matcher' for "Country":String 

Где «Страна»: Строка? Сначала я подумал, что название модели «локальность» - это как-то резерв рельсов для i18n, но такая же проблема возникает при названии модели «Бла».

Я использую рельсы 3.2.13 и базу данных MySQL.

ответ

2

Я считаю, что ваш столбец: класс недействителен. Как у вас будет доступ к этому столбцу, так как класс уже является методом любого объекта в рубине?

Я думаю, что это вызывает беспорядок. Значение столбца класса вашего загруженного местоположения - «Страна»?

+0

Ах, Theres проблему, думал, что я что-то очевидное отсутствует. –