Rails习语避免has_many:through中的重复

在我的Rails应用程序中,我有一个标准的用户和angular色之间的多对多关系: class User < ActiveRecord::Base has_many :user_roles has_many :roles, :through => :user_roles end 我想确保用户只能分配一次任何angular色。 任何尝试插入重复应该忽略请求,不会抛出错误或导致validation失败。 我真正想要表示的是一个“集合”,插入已经存在于集合中的元素不起作用。 {1,2,3} U {1} = {1,2,3},而不是{1,1,2,3}。 我意识到我可以这样做: user.roles << role unless user.roles.include?(role) 或者通过创build一个包装方法(例如add_to_roles(role) ),但是我希望有一些惯用的方法使它通过关联自动化,这样我可以写: user.roles << role # automatically checks roles.include? 它只是为我做的工作。 这样,我不必记得检查dups或使用自定义的方法。 在我失踪的框架中有什么东西吗? 我首先想到:has_many的uniq选项可以实现,但基本上只是“select不同”。 有没有办法做到这一点声明? 如果没有,也许通过使用关联扩展? 以下是默认行为失败的一个例子: >> u = User.create 用户创build(0.6ms)INSERT INTO“users”(“name”)VALUES(NULL) =>#<用户标识:3,名称:nil> >> u.roles << Role.first angular色负载(0.5ms)SELECT […]

剪贴板大小限制

是否有可以复制到剪贴板的数据大小的限制? 我正在使用VB6,需要将数据块复制到剪贴板。

根据.properties文件中的属性导入Springconfiguration文件

在我的Spring xmlconfiguration中,我试图让这样的工作: <beans> <import resource="${file.to.import}" /> <!– Other bean definitions –> </beans> 我想根据属性文件中的属性来决定要导入哪个文件。 我知道我可以使用System属性,但是我无法在启动时将属性添加到JVM。 注意:PropertyPlaceHolderConfigurer将不起作用。 在任何BeanFactoryPostProcessors运行之前,导入都被parsing。 导入元素只能parsingSystem.properties。 有没有人有一个简单的解决scheme呢? 我不想开始子类化框架类等… 谢谢

在一大组string中查找类似的string组

我有一个相当大的string集合(比如说100),它有许多以相似性为特征的小组。 我试图find/devise一个能够合理高效地find这些组的algorithm。 举个例子,假设input列表在左边,输出组在右边。 Input Output —————– —————– Jane Doe Mr Philip Roberts Mr Philip Roberts Phil Roberts Foo McBar Philip Roberts David Jones Phil Roberts Foo McBar Davey Jones => John Smith David Jones Philip Roberts Dave Jones Dave Jones Davey Jones Jonny Smith Jane Doe John Smith Jonny Smith 有谁知道有什么办法来合理有效地解决这个问题? find相似的string的标准方法似乎是Levenshtein距离,但我不明白如何在这里使用它,而不必将每个string与列表中的每个string进行比较,然后以某种方式决定差异决定两个string是否在同一组中的阈值。 另一种方法是将string散列到一个整数的algorithm,其中相似的string散列到在数字行上靠近的整数。 我不知道什么algorithm,即使有,即使存在 有人有任何想法/指针吗? […]

适当的CSS来生成一个跨浏览器的复选标记

我正在使用以下CSS在我的<li>列表项之前添加复选标记: ul.checkmark li:before { content:"\2713\0020"; } 然后在HTML中: <ul class="checkmark"> <li>Learn the keyboard at your own pace</li> </ul> 在Safari,Firefox和Chrome中很好用,但在IE8上显示“怪异的外框”。 苹果浏览器: IE8: 有没有一个便携的方式来指定一个好看的复选标记,可以在所有主stream浏览器中使用? 编辑解决scheme :我最终使用下面的一个变化meder的答案: ul.checkmark li { background:url("../checkmark.gif") no-repeat 0 50%; padding-left: 20px; } ul.checkmark { list-style-type: none; }

如何正确比较C#中的十进制值?

我来自C ++的背景,我知道你不能准确地比较花车的平等。 对于C#,我只是假设同样的政策适用于十进制值,或一般的任何浮点值。 基本上,我有两个十进制值,如果它们不相等,我需要执行一些操作。 例如: decimal value1, value2; // Assume value1 and value2 are set somewhere to valid values. if( value1 != value2 ) { // Do something } 如果这不能按预期的那样工作,我愿意接受一个解决scheme,与误差范围进行平等比较,比如.00001或类似的。 这个问题的build议解决scheme是什么?

OCaml的并行化能力是怎样的?

我对使用OCaml进行项目感兴趣,但我不确定它的并行化function在哪里。 OCaml中有消息传递的能力吗? OCaml能够有效使用多个CPU吗? 我读到的大部分内容都是在2002 – 2006年写的,而且我还没有看到更近的内容。 谢谢!

如何在Java中发送Https Post请求

我想从Java代码login到应用程序。 这是我的代码… String httpsURL = "https://www.abcd.com/auth/login/"; String query = "email="+URLEncoder.encode("abc@xyz.com","UTF-8"); query += "&"; query += "password="+URLEncoder.encode("abcd","UTF-8") ; URL myurl = new URL(httpsURL); HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("Content-length", String.valueOf(query.length())); con.setRequestProperty("Content-Type","application/x-www- form-urlencoded"); con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0;Windows98;DigExt)"); con.setDoOutput(true); con.setDoInput(true); DataOutputStream output = new DataOutputStream(con.getOutputStream()); output.writeBytes(query); output.close(); DataInputStream input = new DataInputStream( con.getInputStream() ); for( int c […]

链接/ HREF参数(以问号开始)是有效的?

这个链接是否有效? <a href="?lang=en">eng</a> 我知道浏览器将其视为预期,我知道空的链接也可以 – 但是可以指定参数吗? 我很好奇,因为问号(“?”)只是大多数HTTP服务器(AFAIK)的约定,尽pipe我承认这是一个普遍的问题。 所以,回顾一下: 所有的浏览器都能正确解释这个吗? 这是在RFC? 我可以使用这个问题吗? 更新:点击的预期行动是redirect到同一页面,但具有不同的GET参数(在上面的例子中“lang = en”)。

JUnittesting报告使用JavaDoc进行充实

对于客户,我们需要为集成testing生成详细的testing报告,这不仅表明一切都是绿色的,而且testing也是如此。 我的同事和我是懒惰的人,我们不想破解电子表格或文本文件。 为此,我想了一种方法来logging在每个@Test注释方法和每个testing类上使用JavaDoc注释的更复杂的集成testing。 对于testing人员来说,查看哪个要求,Jira门票或testing链接到什么以及testing实际要做什么是一个很好的帮助。 我们也想把这个信息提供给我们的客户。 现在最大的问题是:我们如何才能将每个方法和每个testing类的JavaDoc放入JUnit报告中? 我们使用JUnit 4.9和Maven。 我知道,每个assertXXX()都有一个描述,但是我们确实需要一个好的HTML列表作为结果,或者是一个PDF文档,其中列出了所有的类和文档,下面是所有的@Test方法及其描述,testing时间,结果如果失败了,原因何在。 还是有另一种select生成奇特的testing脚本? (或者我们应该启动一个OpenSource项目!);-)) 更新:我问另一个关于如何添加一个RunListener到Eclipse的问题,让它也在Eclipse中报告时,开始在那里。 使用自定义TestRunnerbuild议的解决scheme是另一种可能的testing结果报告。 看看: 我如何在Eclipse中使用JUnit RunListener?