2013-02-05 33 views
0

我有一個問題,一個表單來創建一個用戶......這是我的「新」我有一個表格,以創建新用戶,但不工作

<%= form_for @user do |f| %> 
    <% if @user.errors.any? %> 
    <% for message in @user.errors.full_messages %> 
    <div class="alert"> 
     <button type="button" class="close" data-dismiss="alert">&times;</button> 
     <%= message %> 
    </div> 
    <% end %> 
<% end %> 
    <div class="field"> 
    <%= f.label :username %> 
    <%= f.text_field :username %> 
    </div> 
    <div class="field"> 
    <%= f.label :email %> 
    <%= f.text_field :email %> 
    </div> 
    <div class="field"> 
    <%= f.label :password %> 
    <%= f.password_field :password %> 
    </div> 
    <div class="field"> 
    <%= f.label :password_confirmation %> 
    <%= f.password_field :password_confirmation %> 
    </div> 
    <div class="actions"><%= f.submit "Registrarse" %></div> 
<% end %> 

和控制器「創造」的代碼

def create 
    @user = User.new(params[user]) 
    if @user.save 
     redirect_back_or_to root_url, :notice => "Usuario Registrado Satisfactoriamente!" 
    else 
     render :new, :notice => "No se ha podido registrar" 
    end 
end 

當我創建的用戶,此去登錄表單,並且收到一條消息,空的,因爲我有一個「如果」若我有消息,這讓我有一些CSS一個div,這樣我就可以看到一個錯誤發生,但這是空的,我有什麼錯?我沒有看到任何東西......當然,用戶沒有創建。 感謝您的幫助,我是一個紅寶石新手。並抱歉我的英語不好xd

+0

什麼是服務器日誌說使用:user? – ByScripts

+2

'@user = User.new(params [:user])'注意用戶參數之前的冒號。 –

+0

'@user = User.new(params [user])'是'@user = User.new(params [:user])''?如果它不是一個錯字。 –

回答

1

問題是,你最有可能引用password_confirmation這通常是一個輸入標籤。你很可能在你的數據庫中沒有這個字段,因爲這只是一個可怕的做法。你是在醃你的密碼嗎?

在github和Railscasts上籤出sorcery。它在覆蓋認證方面做得很好。

此外,您還需要在params =>User.new(params[:user])

+0

我發現我的問題,是這樣的: before_filter:require_login,:except =>:新 我正在做一個require_login,除了新的,我需要除了:創建太。那麼只需編輯這一行 before_filter:require_login,:except => [:new,:create] 這就是它,感謝您的幫助,感謝您的視頻,我正在使用巫術;) – xploshioOn

+0

Ryan的視頻有點過時。他的大部分代碼仍然很適合從視頻中使用。不過,關於Sorcery的github頁面的文檔要好得多。此外,它們還顯示瞭如何處理密碼重置的示例。 – kobaltz

+0

我需要重置密碼,但有祕密的答案和問題,因爲那是要求,但巫術重置密碼與電子郵件。 – xploshioOn

相關問題