我是Codeigniter开发人员,对于我的一个项目,我需要使用Rails而不是CI。我有一个包含30多个表的数据库,将来可能会添加更多表。我的任务是获取所有这些表格,并以条形图的形式单独显示每个表格。
我对rails的了解是使用带有活动记录的控制器和模型来获取数据。我不想为每个表创建单独的模型。因此,我想知道是否有更好的解决方案,例如要求rails在数据库中查找可用的表,并根据请求的URI,从表中显示数据。
答案 0 :(得分:2)
使用活动记录,您可以使用以下命令直接运行sql:
ActiveRecord::Base.connection.select_all(sql)
所以,如果我理解你的问题,你想获得数据库中的表列表,可以像这样在postgres上完成:
sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';"
table_names = ActiveRecord::Base.connection.select_all(sql)
table_names.to_a
# => [{"table_name"=>"orders"},
# {"table_name"=>"plans"},
# {"table_name"=>"products"},
# {"table_name"=>"services"},
# {"table_name"=>"users"},
# {"table_name"=>"schema_migrations"}]