问题列表 - 第18945页

在Rails中使用具有唯一约束的关联的factory_girl.获得重复的错误

我正在使用Rails 2.2项目来更新它.我正在用工厂替换现有的灯具(使用factory_girl)并且遇到了一些问题.问题在于表示具有查找数据的表的模型.当我创建一个包含两个具有相同产品类型的产品的购物车时,每个创建的产品都会重新创建相同的产品类型.这是ProductType模型上唯一验证的错误.

问题演示

这是一个单元测试,我创建一个Cart并将它们组合在一起.我不得不这样做以解决问题.但这仍然证明了这个问题.我会解释一下.

cart = Factory(:cart)
cart.cart_items = [Factory(:cart_item, 
                           :cart => cart, 
                           :product => Factory(:added_users_product)),
                   Factory(:cart_item, 
                           :cart => cart, 
                           :product => Factory(:added_profiles_product))]
Run Code Online (Sandbox Code Playgroud)

添加的两个产品属于同一类型,每个产品创建时都会重新创建产品类型并创建重复项.

生成的错误是:"ActiveRecord :: RecordInvalid:验证失败:名称已被占用,代码已被占用"

解决方法

此示例的解决方法是覆盖正在使用的产品类型并传入特定实例,因此只使用一个实例."add_product_type"提前获取并传入每个购物车项目.

cart = Factory(:cart)
prod_type = Factory(:add_product_type)   #New
cart.cart_items = [Factory(:cart_item,
                           :cart => cart,
                           :product => Factory(:added_users_product,
                                               :product_type => prod_type)), #New
                   Factory(:cart_item,
                           :cart => cart,
                           :product => Factory(:added_profiles_product,
                                               :product_type => prod_type))] #New
Run Code Online (Sandbox Code Playgroud)

使用factory_girl与"pick-list"类型的关联的最佳方法是什么?

喜欢为厂家定义为包含,而不必进行组装测试的一切,虽然我可以住在一起.

背景和额外细节

工厂/ product.rb

# Declare ProductTypes

Factory.define :product_type do |t|
  t.name "None"
  t.code "none"
end …
Run Code Online (Sandbox Code Playgroud)

ruby unit-testing ruby-on-rails fixtures factory-bot

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

使用LINQ从数据库中检索树结构

我有一个存储在数据库中的组织结构图树结构.就是这样的

ID (int);
Name (String);
ParentID (int)
Run Code Online (Sandbox Code Playgroud)

在C#中,它由类似的表示

class Employee
{
int ID, 
string Name, 
IList < Employee> Subs
} 
Run Code Online (Sandbox Code Playgroud)

我想知道如何从数据库中检索这些值以使用LINQ填充C#对象(我正在使用实体框架)的最佳方法

必须有比调用更高级别然后重复调用以获得潜艇等更好的东西.

怎么做得最好?

c# linq-to-entities entity-framework

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

将一列从一个表复制到另一个表

我很困惑如何使用where将列从一个表复制到另一个表.我写了SQL查询,但它说超出事务锁定时间或查询返回多行.
使用mysql
基本上,
我有:

Table 1:  Results
BuildID  platform_to_insert

Table 2:  build
BuildID correct_platform

update results set results.platform_to_insert 
     = (select correct_platform from  
       build where results.BuildID = build.BuildID)
Run Code Online (Sandbox Code Playgroud)

mysql sql-update

26
推荐指数
2
解决办法
4万
查看次数

Git clone没有带来master分支

我有一个远程存储库http://github.com/fernandezpablo85/Test

这个repo有一个master分支,但它在其他两个分支后面,所以当我克隆它时,我得到了这个警告:

警告:远程HEAD是指不存在的ref,无法结帐.

而且我也没有得到一个本地master分支(git branch什么都不显示).

我可以修复整个事情:

git checkout -b master origin/master

但我想知道为什么会这样?主人应该是更先进的分支吗?或者我的回购还有其他问题吗?

git remote-branch

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

具有不同数据类型的数组,即字符串和整数.(Objectorientend)

比如我

3本书: Booknumber (int), Booktitle (string), Booklanguage (string), Bookprice (int).

现在我想要一个名为的数组books[3][4].

我是通过setBooknumber设置的数据,如下所示:
Book1.getBooknumber(), Book1.getBooktitle(),...,Book3.getBookprice().

现在我怎么意识到这一点books[3][4] array.我不能称之为String books[][] = new String [3][4].因为我无法Booknumber (int)进入它.

我不希望Booknumber成为String也不是Bookprice.请问我怎么意识到这一点?

现在进一步阐述它.

我有2节课.

public class book{
String Booktitle, Booklanguage;
int Booknumber, Bookprice;

//constructor

//get

//set
}
Run Code Online (Sandbox Code Playgroud)

public class bookUI
{
 public static void main(String arg[])
 {
   book book1 = new book();
   book book2 = new book();
   book book3 = new book();

   book1.setBooktitle();
   ...
   book3.setBookprice();

   //Here I want to have …
Run Code Online (Sandbox Code Playgroud)

java arrays types object

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

在SEO的URL中允许使用非英语(ASCII)字符?

我有很多UTF-8内容,我想插入到URL用于搜索引擎优化目的.例如,我想要包含在URI(site.com/tags/id/TAG-NAME)中的帖子标签.但是,标准只允许使用ASCII字符.

URI中允许但没有保留目的的字符称为unreserved.这些包括大写和小写字母,十进制数字,连字符,句点,下划线和波浪号.

解决方案似乎是到:

  • 使用UTF-8编码将字符串转换为字节序列
  • 将每个不是ASCII字母或数字的字节转换为%HH,其中HH是字节的十六进制值

然而,这将易读(和有价值的SEO)单词转换为mumbo-jumbo.所以我想知道谷歌是否仍然足够智能处理包含编码数据的URL中的搜索 - 或者我是否应该尝试将这些非英语字符转换为半ASCII对应物(这可能有助于拉丁语言)?

url utf-8 internationalization

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

使用Command Design模式

任何人都可以用命令模式的简单例子来解释.我在互联网上提到但我很困惑.

java oop design-patterns command-pattern

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

JQuery:我可以使用Dialog打开外部网页吗?

我可以使用JQuery 对话框打开外部网页,如果是这样 - 如何?

基本上,我想使用JQuery复制LightWindow的功能(LightWindow基于scriptalous).

www.stickmanlabs.com/lightwindow/index.html

理想情况下,我想使用一些JQuery核心的东西.如果它需要是一个JQuery插件,那很好,但我真的希望它已经存在这些功能的核心功能.

javascript jquery jquery-ui

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

用<p>段和<br />标记替换换行符

所以我知道如何在C#代码中替换换行符.但是替换<br />标签的换行并不总是非常正确.

所以我想知道其他人使用什么样的策略?我猜的正确方法是使用<p>标签和<br />标签.

以下是我想得到的结果的一些例子.

如果没有换行符,我希望文本包含在<p>标签中.

此文本不包含换行符

<p>This text contains no newlines</p>   
Run Code Online (Sandbox Code Playgroud)

如果文本包含换行符,我希望将其替换为<br />标记并包含在<p>标记中.

此文本包含
1个换行符

<p>This text contains<br /> 1 newline.</p>
Run Code Online (Sandbox Code Playgroud)

如果有"双重换行符",我希望将该块包装在<p>标签中.

这是一个末尾带有"双重换行符"的文本.

这是一个最后没有换行的文本.

<p>This a text with 'double newlines at the end.</p>
<p>This is a text with no newline at the end.</p>
Run Code Online (Sandbox Code Playgroud)

我可以写更多的例子/组合,但我想我的意思有点清楚.

提前致谢.

.net html c# string newline

10
推荐指数
2
解决办法
9104
查看次数

确保"合理"查询

在我们的组织中,我们需要让员工通过提供WHERE子句来过滤我们的Web应用程序中的数据.它长期以来运行良好,但我们偶尔遇到用户提供需要对大型表或低效连接等进行全表扫描的查询.

一些小丑可能会写一些类似的东西:

select * from big_table where
Name in (select name from some_table where name like '%search everything%')
or name in ('a', 'b', 'c')
or price < 20
or price > 40
or exists (select 1 from some_other_table where col1 + col2 + col3 = 4)
or exists (select 1 from table_a, table+b)
Run Code Online (Sandbox Code Playgroud)

显然,这不是一个很好的方法来查询这些表与计算值,非索引列,大量的OR和table_a和table_b上的无限制连接.

但对于用户来说,这可能是完全有道理的.

那么,允许内部用户向数据库提供查询同时确保它不会锁定十几个表并挂起网络服务器5分钟的最佳方式是什么?

我猜这是c#/ sql-server中的一种编程方式,用于在查询运行之前获取查询的执行计划.如果是这样,哪些因素会导致成本?估计的I/O成本?估算的CPU成本?什么是合理的限制,告诉用户他的查询不好?

编辑:我们是一家市场研究公司.我们有数以千计的调查,每个调查都有自己的数据.我们有数十名研究人员希望以任意方式对数据进行切片.我们有工具让他们使用GUI构建"有效"过滤器,但是一些"高级用户"想要提供他们自己的查询.我意识到这不是标准或最佳实践,但我怎样才能让许多用户使用任意复杂的条件和不断变化的条件来查询表所需的行?

c# sql sql-server asp.net

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