2012-11-18 30 views
0

您好,我有以下問題,我的Rails應用程序:阻止用戶去新的行動,如果記錄存在

我有兩個型號,用戶信息,用戶使用該URL創建自己的信息:

用戶/ ID /信息/新

,並使用這個網址編輯自己的信息:

個用戶/ ID /信息/ ID /編輯

後用戶創建自己的信息,如果他去到URL中的問題,如果下面:

用戶/ ID /信息/新

記錄從數據庫中刪除,用戶可以創建新記錄;這是完全錯誤的,因爲用戶只能創建一個用戶信息,然後他只能編輯他的記錄。

如果用戶在信息表上有記錄,我該如何拒絕用戶轉到新的操作url。

在此先感謝。

回答

0

添加過濾器的動作之前新的,那麼,該過濾器檢查中,如果用戶信息存在

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,代碼是一個例子,我不知道你的車型

相關問題