我在扩展一个在gem中定义的类并且是ActiveRecord :: Base的子类时遇到了问题.
我唯一想扩展这个类的是:
has_many :promos
然而,扩展倾向于排除原始类.我得到的错误:
PGError: ERROR: relation "sites" does not exist
LINE 4: WHERE a.attrelid = '"sites"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"sites"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Run Code Online (Sandbox Code Playgroud)
检查控制台中的类给出:
Cms::Site(Table doesn't exist)
Run Code Online (Sandbox Code Playgroud)
原始类有这个方法,可能不再被调用:
set_table_name :cms_sites
Run Code Online (Sandbox Code Playgroud)
顺便说一句.我正在尝试从comfortable_mexican_sofa插件扩展Site类.
这是应该扩展类的文件:
# lib/comfortable_media_sofa/comfortable_media_sofa.rb
require 'comfortable_mexican_sofa'
module Cms
class Site < ActiveRecord::Base
has_many :promos
end
end …
Run Code Online (Sandbox Code Playgroud)