Ruby on rails rails 4 postgis和单数表名
我们正在使用rails(4.0.4)、ruby(2.0.0p247)和activerecord postgis适配器(0.6.5)以及在./config/environment.rb中设置的单数表名(activerecord::Base.pluralize_table_names=false) 这在开发和测试环境中非常有效 在生产环境中,它适用于每个表,但不适用于一个项目。对于此表,我们在控制器索引中看到一个错误 我重新生成了脚手架,并能够在项目_控制器中确定此lin的问题: 为列(:location,rgeo::Geographic.spheremic_factory(:srid=>4326))设置_rgeo_工厂 错误是:Ruby on rails rails 4 postgis和单数表名,ruby-on-rails,rgeo,Ruby On Rails,Rgeo,我们正在使用rails(4.0.4)、ruby(2.0.0p247)和activerecord postgis适配器(0.6.5)以及在./config/environment.rb中设置的单数表名(activerecord::Base.pluralize_table_names=false) 这在开发和测试环境中非常有效 在生产环境中,它适用于每个表,但不适用于一个项目。对于此表,我们在控制器索引中看到一个错误 我重新生成了脚手架,并能够在项目_控制器中确定此lin的问题: 为列(:locat
E, [2014-04-11T10:23:09.543299 #10740] ERROR -- : PG::UndefinedTable: ERROR: relation "projects" does not exist
LINE 5: WHERE a.attrelid = '"projects"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"projects"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
I, [2014-04-11T10:23:09.543625 #10740] INFO -- : Completed 500 Internal Server Error in 7ms
F, [2014-04-11T10:23:09.545403 #10740] FATAL -- :
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "projects" does not exist
LINE 5: WHERE a.attrelid = '"projects"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"projects"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
): app/controllers/projects_controller.rb:11:in `index'
看起来很奇怪,它在其他任何环境中都能工作,在生产环境中,它只对一个表以及关联的表失败
任何建议都值得赞赏。我找到了两种解决方案: