【发布时间】:2012-05-25 05:06:22
【问题描述】:
我正在阅读 Michael Hartl 的 Rails 教程。我来Chapter 9, Exercise 1。它要求您添加一个测试来验证 User 类的 admin 属性是否不可访问。这是注释掉不相关部分的 User 类:
class User < ActiveRecord::Base
attr_accessible :name, :email, :password, :password_confirmation
attr_protected :admin
# before_save methods
# validations
# private methods
end
这是我用来验证 admin 属性不可访问的测试。
describe User do
before do
@user = User.new(
name: "Example User",
email: "user@example.com",
password: "foobar123",
password_confirmation: "foobar123")
end
subject { @user }
describe "accessible attributes" do
it "should not allow access to admin" do
expect do
@user.admin = true
end.should raise_error(ActiveModel::MassAssignmentSecurity::Error)
end
end
end
测试失败。它说没有引发错误,尽管admin 属性受到保护。我怎样才能让测试通过?
【问题讨论】:
标签: ruby-on-rails railstutorial.org