我试图开始测试以确认用户只能在 current_user.id 和 model.user_id 匹配时修改对象。
我觉得这是模型的验证。所以我可能会写这样的东西:
class UserLocked < ActiveModel::Validator
def validate(record)
unless record.user_id == current_user.id
record.errors[:name] << "Sorry you cannot modify something that is not your's"
end
end
end
哪个可能没问题... (我可以把它放在一个集中的地方吗?我需要做一些特别的事情来引用它吗?)
为此编写测试也不错。但是,我还需要防止控制器显示表单以编辑表单。我应该创建一个单独的视图还是让它成为编辑页面的一部分?我如何在 rspec 中为此编写测试...
我可能想多了,但我想弄清楚其他人在做什么。一个例子会很棒!我以前在其他语言/框架中做过这个,但我正在尝试“以正确的方式做事”。
谢谢!