【发布时间】:2011-09-21 04:02:39
【问题描述】:
这是 rspec 中的错误:
CategoriesController GET 'update' should be successful
Failure/Error: get 'update'
ActiveRecord::RecordNotFound:
Couldn't find Category without an ID
# c:in `find'
# ./app/controllers/categories_controller.rb:45:in `update'
# ./spec/controllers/categories_controller_spec.rb:35:in `block (3 levels) in <top (required)>'
这是控制器中的代码:
def edit
@category = Category.find(params[:id])
end
def update
@category = Category.find(params[:id])
#@category.reload. caused nil.reload error
if @category.update_attributes(params[:category], :as => :roles_update)
@category = Category.find(params[:id])
redirect_to @category, :notice => 'Category was successfully updated'
else
@categories = Category.all
render 'index'
end
end
这是 rspec 代码:
describe "GET 'update'" do
it "should be successful" do
get 'update'
response.should be_success
end
end
有什么想法吗?谢谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1 rspec2