有没有一种方法可以作为模型的表访问我的数据库视图?Rails是否可以识别数据库视图?
回答
我发现,似乎可以解释的事情做好,并且还提供了“良好”的消息在db views in rails此链接...
是的,你可以使用视图就好了,他们的行为就像在ActiveRecord的表。我不知道你在使用什么数据库,但是我在Oracle中使用它们,并没有遇到任何问题。
唯一的区别是,如果你想让你的迁移自动创建它们,你必须放弃典型的create_table,而是执行SQL语句来创建它。
我使用的是oracle,但是当我在模型中编写'set_table_name:myview'时出现问题,并在我的控制台中检查它是否显示'表不存在' – usmanali 2011-06-17 05:21:33
@usmanali,你也必须为该视图授予适当的权限,或者其行为不存在。 – 2011-06-18 12:25:20
您使用的是activerecord-oracle_enhanced驱动程序吗? – 2011-06-18 12:25:55
我没有得到问题 – fl00r 2011-06-16 12:33:39
基本上他/她想知道你是否可以使用带有ActiveRecord的VIEW。即'CREATE VIEW some_view AS SELECT * FROM tbl'。因为AR是反思性的,所以它可能不理解它。 DM(DataMapper)可以很好地处理它,因为它没有试图反思。 – d11wtq 2011-06-16 12:39:03
我*想*他问他是否可以生成一个模型,而不是依赖于一个表,使用数据库视图(而不是MVC/Rails视图)。为了确保我清楚(而不是教学)一个视图生成的一些SQL和内置到数据库模式,因此它可以被视为SQL交互中的表... – jaydel 2011-06-16 12:40:00