您好,我的 rails 应用程序存在以下问题:
我有两个模型,用户和信息,用户,使用这个 url 创建他的信息:
用户/id/信息/新
并使用此网址编辑他的信息:
用户/id/信息/id/编辑
如果出现以下问题,用户创建他的信息后,如果他转到 url:
用户/id/信息/新
记录从数据库中删除,用户可以创建新记录;这是完全错误的,因为用户只允许创建一个用户信息,然后他只能编辑他的记录。
如果用户在信息表上有记录,我如何拒绝用户转到新的操作 url。
提前致谢。
您好,我的 rails 应用程序存在以下问题:
我有两个模型,用户和信息,用户,使用这个 url 创建他的信息:
用户/id/信息/新
并使用此网址编辑他的信息:
用户/id/信息/id/编辑
如果出现以下问题,用户创建他的信息后,如果他转到 url:
用户/id/信息/新
记录从数据库中删除,用户可以创建新记录;这是完全错误的,因为用户只允许创建一个用户信息,然后他只能编辑他的记录。
如果用户在信息表上有记录,我如何拒绝用户转到新的操作 url。
提前致谢。
在操作 new 中添加一个 before 过滤器,然后在该过滤器中检查用户信息是否存在
UserInformationsController
before_filter :require_no_user_information, :only => :new
def require_no_user_information
if UserInformation.exists?(:user_id => params[:id])
flash[:notice] = 'The user information already exists'
redirect_to edit_user_information_path params[:id]
false
end
end
end
如果用户信息存在,过滤器将重定向并返回 false 并返回错误消息,代码是示例,我不知道您的型号