小编Ant*_*hov的帖子

使用在父模型中定义的范围,在其子项内(STI模式)

我使用STI模式实现了一个类层次结构

class A
  scope :aaa, where([someField]:[someValue])
end

class B < A
end
Run Code Online (Sandbox Code Playgroud)

问题是当我尝试调用类似的东西时:

B.limit(5).aaa
=> SELECT "[table]".* FROM "[table]" WHERE "[table]"."type" IN ('A') AND ([someField] = [someValue]) LIMIT 5
Run Code Online (Sandbox Code Playgroud)

所以我得到了5个类型为A的对象,它满足范围:aaa但我需要对type ="B"的行做同样的事情

是否有任何方法可以使用父级的范围,而无需在STI模式的子级中重新划分它?

提前致谢

EDITED

我刚刚和我的朋友讨论过这件事,他向我展示了一件重要的事情.A不是STI的根类.实际上整个层次结构看起来像

class O < ActiveRecord::Base
end

class A < O
  scope ..... .....
end

class B < A
end
Run Code Online (Sandbox Code Playgroud)

也许原因在于层次结构本身?...

ruby sti ruby-on-rails-3

5
推荐指数
1
解决办法
1215
查看次数

文件/文件夹同名时的导入行为

ES6新手来了。也许这是一个简单的问题,但还没有找到任何有用的信息。我的目录中有modals.js文件和文件夹。modalsactions

如果文件或文件夹具有相同的名称,我如何告诉 javascript 我是否要导入它们?

我的期望是:

import {...} from './actions/modals' 
Run Code Online (Sandbox Code Playgroud)

可以被视为modals.js文件或modals/index.js. 是否有任何广泛传播的解决方案适用于任何捆绑器,这将保证我到底需要什么?

我知道我可以尝试使用“.js”扩展名,例如:

import {...} from './actions/modals.js'
Run Code Online (Sandbox Code Playgroud)

但我的研究表明并非所有构建器都支持文件扩展名。

我非常感谢您对我的 ES6 学习的帮助

ecmascript-6

5
推荐指数
1
解决办法
1198
查看次数

标签 统计

ecmascript-6 ×1

ruby ×1

ruby-on-rails-3 ×1

sti ×1