【发布时间】:2011-06-22 20:02:54
【问题描述】:
我真的在努力学习 rspec :( 所以我希望你能在控制器中通过一个非常简单的 create-action 给我一点帮助。我想为此使用 Rspec::mocks,因为我认为这是这样做的方法吗?而不必在测试时访问数据库。
我有一个 before_filter:
def find_project
@project= Project.find_by_id(params[:project_id])
end
创建操作如下所示:
def create
@batch = Batch.new(params[:batch])
@batch.project = @project
if params[:tasks]
params[:tasks][:task_ids].each do |task_id|
@batch.tasks << Task.find(task_id)
end
end
if @batch.save
flash[:notice] = "Batch created successfully"
redirect_to project_batch_url(@project, @batch)
else
render :new
end
end
对于@batch.project = @project,我真的很怀疑我如何定义@project?还有整个params[:tasks][:task_ids].each 部分.. 是的.. 几乎整个事情:(
抱歉这个新手问题 - 希望你们能帮助或至少指出我正确的方向:)
谢谢
【问题讨论】:
-
Jesper:我觉得你的问题有点难以理解。你到底有什么困难?您能否改写一下以添加说明?
标签: ruby-on-rails testing controller rspec