小编pet*_*hka的帖子

Rails3:如何将默认条件设置为has_many

我有盒子和球.球在盒子里.球可以是红色和绿色.

class Box < ActiveRecord::Base
  has_many :balls
end

class Ball < ActiveRecord::Base
  belongs_to :box
  scope :green, where(:color => "green")
end
Run Code Online (Sandbox Code Playgroud)

我想只用绿球设置has_many.我知道finder_sql方法存在,但我不知道如何通过范围设置.

我希望以下示例相同:

@orders = @box.balls
@orders = @box.balls.green
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails associations has-many finder-sql

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

快速查找数组数组中的数组索引

假设我有一个长度为4的numpy数组:

In [41]: arr
Out[41]:
array([[  1,  15,   0,   0],
       [ 30,  10,   0,   0],
       [ 30,  20,   0,   0],
       ...,
       [104, 139, 146,  75],
       [  9,  11, 146,  74],
       [  9, 138, 146,  75]], dtype=uint8)
Run Code Online (Sandbox Code Playgroud)

我想知道:

  1. arr包括真的[1, 2, 3, 4]吗?
  2. 如果真有什么指数[1, 2, 3, 4]arr

我想尽可能快地发现它.

假设arr包含8550420个元素.我已经检查了几种方法timeit:

  1. 只是为了检查而不获得索引:any(all([1, 2, 3, 4] == elt) for elt in arr).在我的机器上运行10次,平均花费了15.5秒
  2. for基于解决方案:

    for i,e in enumerate(arr): if list(e) == …

python arrays search numpy multidimensional-array

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

Mysql:执行“不存在”。有可能提高性能吗?

我有两个表的帖子评论。表注释具有post_id属性。我需要把所有 的帖子,类型为“开放”,对此有没有意见类型为“好”和创建日期5月1日。

使用这样的SQL查询是否最佳:

SELECT  posts.* FROM  posts  
WHERE NOT EXISTS (
SELECT comments.id FROM comments WHERE comments.post_id = posts.id 
AND  comments.comment_type = 'good' AND 
comments.created_at BETWEEN '2010-05-01 00:00:00' AND '2010-05-01 23:59:59')
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我不确定NOT EXISTS是否是完美的构造。

mysql performance not-exists

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

Ruby on Rails:从虚拟属性中组合模型的属性

我有模型Person的属性名称.

我想使用带有字段的html-form:first_namesurname:

<%= f.text_field first_name%>
<%= f.text_field surname%>
Run Code Online (Sandbox Code Playgroud)

我想将这些虚拟属性组合成模型属性名称.

最好的方法是什么?

我尝试使用composed_of,但失败了......

class Person < ActiveRecord::Base
  composed_of :name, :class_name => 'Name', :mapping => %w(name output_name)
end

class Name
  attr_reader :output_name
  def initialize(first_name, surname)
    @output_name = first_name + surname
  end
end

@person.attributes= {"name(1s)" => 'Alex', "name(2s)" => 'Bolduin' }
@person.name.should == 'Alex Bolduin'

expected: "Alex Bolduin",
got: #<Name:0x000000049d4c08 @output_name="Alex Bolduin"> (using ==)
Run Code Online (Sandbox Code Playgroud)

我使用Ruby on Rails 3,但我认为Rails 3和Rails 2.3的解决方案类似

ruby-on-rails ruby-on-rails-3

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

Rails:使用另一个控制器中的helper_method

我有以下控制器:

class FirstController < ApplicationController
  helper_method :contoller_method

private 
  def contoller_method
    "text"
  end
end
Run Code Online (Sandbox Code Playgroud)

如何contoller_method在另一个控制器的视图中使用?有最好的做法吗?

ruby-on-rails helper

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

用于集成测试以替换Cucumber的工具

现在我正在使用黄瓜,但我发现它有点过于夸张.我不会在没有Ruby知识的情况下向没人展示黄瓜期货.所以现在我认为没有必要在人类可读的文本和步骤定义中复制集成测试.这让我做了无用的工作.

我正在走向比黄瓜更怪异的东西.类似于rspec集成,但功率不低于黄瓜功率.

你可以为我的目的建议一些集成测试工具吗?

integration-testing ruby-on-rails cucumber

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

Rails,acts_as_taggable_on:如何获取没有标签的所有aricles

我正在使用act-as-taggable-on.我有文章模型:

class Article < ActiveRecord::Base
  acts_as_taggable_on :tags
end
Run Code Online (Sandbox Code Playgroud)

我知道如何查找标签为"tag"的所有文章.根据README,解决方案是:Article.tagged_with("tag").

但如何找到没有任何标签的所有文章?

ruby tags ruby-on-rails find acts-as-taggable-on

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

最快的C++ Rational Number库

我正在使用GMP的GMPXX包装,但速度不够快.是否有可能找到有理数字库速度的一些比较?

在我的计算过程中,一个非常大的有理数将出现10 ^ 100分母和相同大小的分子.

你知道比GMP更快的东西吗?

c++ performance gmp rational-numbers

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