我想创建受密码保护的模型。例如Post在博客上。我想将此密码存储在数据库中。如果用户想要看密码保护的帖子,他需要写这个密码。如果数据库中没有密码,每个人都可以看到这个帖子,每个帖子都有自己的通行证。如何在RoR中创建这样的东西?我
我只找到了基本的HTTP身份验证:
before_filter :authenticate
#protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
end
但可能有更好的解决方案吗?你有什么想法吗?
答案 0 :(得分:2)
这样的东西?
def show
@post = Post.find(...)
if params[:post][:password].nil?
# Show a form with a password asked
elsif params[:post][:password] == @post.password
# Show post
else
flash[:error] = "Bad password"
# Render password form
end
end