0

您好,我的 rails 应用程序存在以下问题:

我有两个模型,用户和信息,用户,使用这个 url 创建他的信息:

用户/id/信息/新

并使用此网址编辑他的信息:

用户/id/信息/id/编辑

如果出现以下问题,用户创建他的信息后,如果他转到 url:

用户/id/信息/新

记录从数据库中删除,用户可以创建新记录;这是完全错误的,因为用户只允许创建一个用户信息,然后他只能编辑他的记录。

如果用户在信息表上有记录,我如何拒绝用户转到新的操作 url。

提前致谢。

4

1 回答 1

0

在操作 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 并返回错误消息,代码是示例,我不知道您的型号

于 2012-11-18T02:04:31.670 回答