我有盒子和球.球在盒子里.球可以是红色和绿色.
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) 假设我有一个长度为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)
我想知道:
arr
包括真的[1, 2, 3, 4]
吗?[1, 2, 3, 4]
在arr
?我想尽可能快地发现它.
假设arr
包含8550420个元素.我已经检查了几种方法timeit
:
any(all([1, 2, 3, 4] == elt) for elt in arr)
.在我的机器上运行10次,平均花费了15.5秒for
基于解决方案:
for i,e in enumerate(arr):
if list(e) == …
我有两个表的帖子和评论。表注释具有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是否是完美的构造。
我有模型Person的属性名称.
我想使用带有字段的html-form:first_name和surname:
<%= 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的解决方案类似
我有以下控制器:
class FirstController < ApplicationController
helper_method :contoller_method
private
def contoller_method
"text"
end
end
Run Code Online (Sandbox Code Playgroud)
如何contoller_method
在另一个控制器的视图中使用?有最好的做法吗?
现在我正在使用黄瓜,但我发现它有点过于夸张.我不会在没有Ruby知识的情况下向没人展示黄瓜期货.所以现在我认为没有必要在人类可读的文本和步骤定义中复制集成测试.这让我做了无用的工作.
我正在走向比黄瓜更怪异的东西.类似于rspec集成,但功率不低于黄瓜功率.
你可以为我的目的建议一些集成测试工具吗?
我正在使用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")
.
但如何找到没有任何标签的所有文章?
performance ×2
arrays ×1
associations ×1
c++ ×1
cucumber ×1
find ×1
finder-sql ×1
gmp ×1
has-many ×1
helper ×1
mysql ×1
not-exists ×1
numpy ×1
python ×1
ruby ×1
search ×1
tags ×1