当用户尝试创建一个名称已存在的记录时,我想显示一条错误消息,如:
name "some name" has already been taken
我一直在努力做到:
validates_uniqueness_of :name, :message => "#{name} has already been taken"
Run Code Online (Sandbox Code Playgroud)
但是这会输出表名而不是name属性的值
我才刚刚注意到使用String类我的程序,而不包括被编译<string>头.事实证明,<iostream>包括<ios_base>哪些包括<string>.
这是不好的做法,我应该明确包括<string>吗?即使只是一个清晰的案例?
假设这不仅仅适用于<string>标题,这是安全的吗?也许这是特定于实现的,或者标准<string>是否通过<ios_base>和包含标题<iostream>?确保任何受到尊重和广泛使用的实现始终包括<string>提供对<iostream>存在的调用.
我正在尝试编写一种算法来从一组数字中选择n个值的所有组合.
例如,给定集合: 1, 2, 3, 7, 8, 9
该组中2个值的所有组合为:
(1,2),(1,3),(1,7),(1,8),(1,9),(2,3),(2,7),(2,8),(2) ,9),(3,7),(3,8),(3,9),(7,8),(7,9),(8,9)
3是:
(1,2,3),(1,2,7),(1,2,8),(1,2,9),(1,3,7),(1,3,8),(1) ,3,9),(1,7,8),(1,7,9),(1,8,9),(2,3,7),(2,3,8),(2,3) ,9),(2,7,8),(2,7,9),(2,8,9),(3,7,8),(3,7,9),(3,8,9) ),(7,8,9)
等等!
我目前正在使用方法来产生2,3和4值组合的返回集,但在我看来,这可以在LINQ查询中推广.
谢谢你的帮助!