Ruby sequel相当于ActiveRecord none
我正在寻找一种方法来复制续集中的行为。到目前为止,我还没有找到一种方法来创建一个数据集或类似数据集的东西,而不将它绑定到一个表上 目前,我只是返回一个Ruby sequel相当于ActiveRecord none,ruby,sequel,Ruby,Sequel,我正在寻找一种方法来复制续集中的行为。到目前为止,我还没有找到一种方法来创建一个数据集或类似数据集的东西,而不将它绑定到一个表上 目前,我只是返回一个enum,但我希望保留dataset API以不破坏任何链接 例如 class用户数据集实例 Sequel有一个空的数据集扩展:您可以使用类似Rspec::Instance Double的东西来创建一个模拟对象,并在生产中使用它,而不是用于测试。这可能是一种非常昂贵的方式。很有趣!是的,如果可能的话,我不希望在生产中要求Rspec。这可能是个愚蠢的
enum
,但我希望保留dataset API以不破坏任何链接
例如
class用户数据集实例
Sequel有一个空的数据集扩展:您可以使用类似Rspec::Instance Double的东西来创建一个模拟对象,并在生产中使用它,而不是用于测试。这可能是一种非常昂贵的方式。很有趣!是的,如果可能的话,我不希望在生产中要求Rspec。这可能是个愚蠢的想法,但是,您是否尝试过使用Sequel::Dataset。新的用于此目的?太好了!我将尝试提交一份PR,在续集文档的active\u record
部分添加对这一点的提及。我的google fu可能很弱,但我试着搜索了一点也没用。我发现它的用法相当尴尬。我需要说DB[:users].nullify
而不是User.nullify
或User.dataset.nullify
。我希望避免获取数据库本身以返回空数据集。这可能有助于澄清您的答案,或者我可以问一个单独的问题。假设您在创建用户类之前运行了DB.extension:null_dataset
,那么您只需要执行def User.nullify;dataset.nullify结束
class User < Sequel::Model
end
User.none # => instance of dataset