问题列表 - 第10703页

Rails:多对多的多态关系

查看评论以获取更新.

我一直在努力在这个问题上得到明确而直截了当的答案,我希望这次我能得到它!:D我肯定还有很多东西需要学习Rails,但我确实理解我面临的问题,并且非常感谢额外的帮助.

  • 我有一个名为"任务"的模型.
  • 我有一个名为"目标"的抽象模型.
  • 我想将Target的子类的多个实例与Task相关联.
  • 我没有使用单表继承.
  • 我想查询多态关系以返回Target的子类的混合结果集.
  • 我想查询Target的子类的各个实例来获取它们与之关系的任务.

因此,我认为任务与子目标的子类之间的多对多关系是有序的.更详细地说,我将能够在控制台(当然还有其他地方)做这样的事情:

task = Task.find(1)
task.targets
[...array of all the subclasses of Target here...]
Run Code Online (Sandbox Code Playgroud)

但!假设存在"存储","软件","办公室","车辆"等模型,它们都是"目标"的子类,那么在另一个方向上遍历关系也会很好:

store = Store.find(1)
store.tasks
[...array of all the Tasks this Store is related to...]
software = Software.find(18)
software.tasks
[...array of all the Tasks this Software is related to...]
Run Code Online (Sandbox Code Playgroud)

多态关系隐含的数据库表似乎能够进行这种遍历,但我在尝试寻找一个能够打败多态关系精神的答案时看到一些反复出现的主题:

  • 仍然使用我的例子,人们似乎想要在任务中定义商店,软件,办公室,车辆,我们可以立即告诉他们不是多态关系,因为它只返回一种类型的模型.
  • 与最后一点类似,人们仍然希望以单向形式或形式定义任务中的商店,软件,办公室和车辆.这里重要的一点是这种关系对子类化是盲目的.我的多态性最初只会与目标进行交互,而不是作为其各自的子类类型.再次定义Task中的每个子类开始蚕食多态关系的目的.
  • 我看到连接表的模型可能是有序的,这似乎对我来说有点正确,除了它增加了我认为Rails愿意废除的一些复杂性.我对这一点感到缺乏经验.

它似乎是导轨功能或集体社区知识中的一个小漏洞.所以希望stackoverflow可以记录我的搜索答案!

感谢所有帮助的人!

ruby-on-rails polymorphic-associations

33
推荐指数
3
解决办法
1万
查看次数

在c#中以字节为单位查找对象实例的大小

对于任何任意实例(不同对象,组合,单个对象等的集合)

如何确定其大小(以字节为单位)?

(我现在有各种对象的集合,我正在尝试确定它的聚合大小)

编辑:有人写了一个可以做到这一点的对象的扩展方法吗?那个非常整洁的imo.

c#

101
推荐指数
7
解决办法
9万
查看次数

选择一个excel java api

我需要做的就是打开一个MS excel表 - 不确定哪种(2003年,2007年等) - 并将每行中的信息解析为一个对象.我只执行只读操作.

最适合此任务的Apache POI,JExcelAPIOpenXLS

我不想再发现api了,但如果你确定这些都不是最好的那么我会接受你的意见.

java excel jexcelapi openxls apache-poi

3
推荐指数
1
解决办法
1万
查看次数

mysql持久连接和mysql_pconnect的优点?

我之前从未听说过持久的联系,我不明白这些优点.我运行一个基于PHP/MySQL的互联网网站,每天收到数以万计的页面浏览量.在我的每个页面上的头文件中,我刚刚使用了mysql_connect(),并且我没有在终止页脚文件中的连接时感到烦恼.

在我的情况下使用mysql_pconnect()有什么好处?

php mysql-pconnect

7
推荐指数
1
解决办法
3964
查看次数

单元测试Asp.net MVC控制器动作

我有一个控制器动作检查

this.User.Identity.IsAuthenticated
Run Code Online (Sandbox Code Playgroud)

你有什么建议如何处理这种行为的单元测试?

asp.net-mvc unit-testing controller

3
推荐指数
1
解决办法
909
查看次数

c#:Inherited/interface静态成员?

有没有办法要求一个类有一个特定的抽象成员?像这样的东西:

public interface IMaxLength
{
    public static uint MaxLength { get; }
}
Run Code Online (Sandbox Code Playgroud)

或许这个:

public abstract class ComplexString
{
    public abstract static uint MaxLength { get; }
}
Run Code Online (Sandbox Code Playgroud)

我想强制一种类型(通过继承或接口?)具有静态成员的方式.可以这样做吗?

c# oop inheritance static interface

3
推荐指数
1
解决办法
2933
查看次数

检测和控制未经授权的共享内存读取

我想知道 - 除了授权程序之外,是否有任何已知技术可以控制对共享内存对象的访问?

例如,假设我创建了一个用于程序P的共享内存段,由Q访问,并使其成为读写.我可以使用Q访问它,因为我已经给它(Q)执行此操作所需的权限(作为具有组的特定用户运行等).

但是,我猜测有些人可能会从程序R中访问这个共享内存 - 只需附加到它并修改它.要停止这一点,你可以让内存段只读 - 但现在程序R仍然可以读取内存中的内容.

我的问题是部分 -

  1. 有没有办法,

    a)只允许Q访问共享内存?

    b)确定读取是否由除Q以外的人完成 - 谁做了?[这甚至可能吗?]对于奖励积分,这可以跨平台完成吗?[可能没有,但没有伤害尝试:)]

  2. 在什么情况下流氓程序可以附加到共享内存?我认为一种方法是,如果用户能够利用OS漏洞并成为启动该程序的用户.还有其他人?

security operating-system shared-memory

4
推荐指数
1
解决办法
2764
查看次数

大量的样本文件

有谁知道在哪里可以找到各种主题的大量样本文件库?我正在寻找至少几千个文件(办公室或PDF应该没问题)以便测试一些算法......文件应该有一些共同点 - 例如,一千个与编程有关的文档,另外一千个与编程相关的文档生态学等...

谁知道我能在哪里得到它?

sample

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

在Javascript中循环遍历数组的元素

我在Javascript中有一个数组:

var array = new array();
array[0] = "apples";
array[1] = "oranges";
array[2] = "pears";
Run Code Online (Sandbox Code Playgroud)

在PHP中,使用给定的数组,我可以使用以下内容遍历数组,并分解键和值:

foreach ($array as $key => $value) {
    echo("Key is $key and Value is $value");
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用Javascript做到这一点?我知道:

for (x in array){
    // Do something with x.
}
Run Code Online (Sandbox Code Playgroud)

但我发现没有什么可以复制php风格的foreach.是否有可能简洁地在Javascript中实现类似的东西?(我也在使用jQuery,如果可以在jQuery中完成某些事情).

javascript arrays jquery

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

C#中的电子邮件存在检查

我想验证电子邮件是否真实.有些人告诉我,我可以用DNS检查来做,但我不知道该怎么做.

有人可以帮我解决这个问题吗?我正在用C#开发.

提前致谢.

c#

2
推荐指数
1
解决办法
2349
查看次数