2013-11-26 20 views
2

我目前正在嘗試將訪客用戶/記錄添加到我的應用程序中,並且遇到了一些設計難題。我試圖按照http://railscasts.com/episodes/393-guest-user-record上的教程進行操作,但是如果用戶是來賓,則會繞過電子郵件,密碼和用戶名的設計驗證。在大約5:40的視頻教程中,他很快提到了設計,但我失去了如何實現這一改變。謝謝您的幫助。設計在電子郵件中創建訪客記錄/用戶結果不能爲空

更新**這是我的代碼。謝謝你們的幫助。

這裏是我的我的users_controller.rb下創建行動

def create 
    @user = params[:user] ? User.new(params[:user]) : User.new_guest 
    if @user.save 
     current_user.move_to(@user) if current_user && current.user.guest? 
     session[:user_id] = @user.id 
     redirect_to root_url 
    else 
     render "new" 
    end 
end 

這裏是我的user.rb

validates_presence_of :username, unless: :guest? 
validates_uniqueness_of :username, :email, allow_blank: true 

下面的代碼啓動來賓記錄

<%= button_to "Try it!", users_path, method: :post %> 
鏈接

我得到的錯誤是

3 errors prohibited this user from being saved: 
Email can't be blank 
Password can't be blank 
Username can't be blank 
+2

你在想什麼,什麼不工作,你會得到什麼錯誤,等等......我們這裏不是魔術師夥計 –

+0

你在控制器中有'before_filter:authenticate_user!'嗎? –

+0

嗨Rich,我添加了before_filter:authenticate_user!到我的用戶控制器,但它沒有改變任何行爲。 –

回答

相關問題