当我测试我的控制器时,我有这种代码:
describe "GET 'show'" do
let!(:comment) { build_stubbed(:comment) }
before(:each) { Project.stubs(:find).returns(project) }
it "render show template" do
get 'show', id: project.id
should render_template('show')
end
it "create a new comment" do
Comment.expects(:new).returns(comment)
get 'show', id: project.id
end
end
我的问题如下:我必须传递一个 ID 才能使用方法 load_and_authorize_resource à cause de la ligne 139 dans ce 代码: https ://github.com/ryanb/cancan/blob/2.0/lib/cancan/controller_resource.rb检查参数中是否有 ID。
如何解决?
谢谢!
编辑:换句话说:变量@project 没有被方法load_and_authorize_resource 删除,因为没有ID,并且可以检查是否有ID 来查找模型。