在第8章中有练习从cookie切换到会话。在我SessionsHelper模块我换过
cookies.permanent[:remember_token] = user.remember_token
与
session[:remember_token] = user.remember_token
移动向会议工作得很好,但因为我已不再“永久”存储的cookie,测试失败。我解开了第8章的练习变更,回到了cookies,并且所有的测试都通过了。现在,有关如何将我的授权测试更改为在使用会话时工作的任何想法?这是我目前的测试:
describe "as wrong user" do
let(:user) { FactoryGirl.create(:user) }
let(:wrong_user) { FactoryGirl.create(:user, email:"[email protected]") }
before { sign_in user }
describe "Visiting Users#edit page" do
before { visit edit_user_path(wrong_user) }
it { should have_selector('title', text: full_title('')) }
end
describe "submitting a PUT request to the Users#update action" do
before { put user_path(wrong_user) } #put is an update?
specify{ response.should redirect_to(root_path) }
end
end
作者应该为那些做这个练习的人提及这个案例。真的,我花了数小时才解决它。最后我回到了这个答案。 – 2012-05-01 17:05:43