【发布时间】:2011-09-28 07:09:06
【问题描述】:
例如,给定一个模型
class User < ActiveRecord::Base
has_many :foos do
def find_or_create_or_bar!(foo_name, foo_params)
# ... stuff
find_by_name(foo_name) || create!(foo_params) || bar!
end
end
end
谁能推荐一种编写行为规范的好方法?
describe User do
describe "#foos" do
describe "#find_or_create_or_bar!" do
# ???
end
end
end
有没有一种很好的方法来考虑这些规格?我应该指定什么?由于这些是关联,甚至可以在这里单独指定User 类吗?
【问题讨论】:
-
不确定这是否只是您尝试做的一个示例,但您的代码已经内置到 ActiveRecord 中:api.rubyonrails.org/classes/ActiveRecord/Base.html 读取基于动态属性的查找器
-
@Beerlington -- 是的,抱歉,我的例子不太有创意。我的意思是强调
# ... stuff部分,它不是ActiveRecord的动态find_or_create方法的一部分。
标签: ruby-on-rails ruby unit-testing activerecord rspec