2013-02-20 46 views
0

我已經按照修訂後的Railscast從頭開始進行用戶認證。如何從零開始更新用戶配置文件到用戶認證

我想知道我可以在部分添加了用戶修改個人資料,因爲我有他們需要的性別,種族,職業,我,孩子,身高等註冊後進入其他領域等

有沒有一個教程,告訴你如何做到這一點,或有人可以幫助指向正確的方向嗎?

我的項目文件可以在https://github.com/pwz2k/date

UPDATE

我已經開始工作就可以了,不知道我這樣做的權利進行查看。我希望用戶能夠修改他們的賬戶設置(註冊時使用的字段)。

下面是我在/ users文件夾中的edit.html。

<h1>Account Information</h1> 

<%= form_for @user do |f| %> 
    <% if @user.errors.any? %> 
    <div class="error_messages"> 
     <h2>Form is invalid</h2> 
     <ul> 
     <% @user.errors.full_messages.each do |message| %> 
      <li><%= message %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

    <div class="field"> 
     <%= f.label :email %><br/> 
     <%= f.text_field :email %> 
    </div> 
    <div class="field"> 
     <%= f.label :password %><br/> 
     <%= f.password_field :password %> 
    </div> 
    <div class="field"> 
     <%= f.label :password_confirmation %><br/> 
     <%= f.password_field :password_confirmation %> 
    </div> 
    <div class="field"> 
     <%= f.label :username %><br/> 
     <%= f.text_field :username %> 
    </div> 
    <div class="field"> 
     <%= f.label :zip_code %><br/> 
     <%= f.text_field :zip_code %> 
    </div> 
    <div class="field"> 
     <%= f.label :birthday %><br/> 
     <%= f.text_field :birthday %> 
    </div> 
    <div class="actions"><%= f.submit %></div> 
<% end %> 

這裏是我的路線:

Dating::Application.routes.draw do 
    get 'signup' => 'users#new' 
    get 'login' => 'sessions#new' 
    get 'logout' => 'sessions#destroy' 
    get 'edit' => 'edit#edit' 

    resources :users 
    resources :sessions 
    resources :password_resets 

    root to: 'users#new' 

,這裏是我加什麼users_controller,我不知道我做了正確:

def edit 
     @user = User.find(params[:user]) 
    end 

    def update 
    @user = User.find(params[:user]) 
    if @user.update_attributes(params[:user]) 
     flash[:success] = "Account updated" 
     sign_in @user 
     redirect_to @user 
    else 
     render 'edit' 
    end 

如何我最終會擁有一切的工作是用戶將進入/編輯修改他們的賬戶設置與他們在註冊期間填寫的所有私人信息。然後用戶可以直接在他們的個人資料頁面上編輯個人資料信息(性別,種族,職業,關於我等)(將使用就地編輯)。所以我只需要知道我採取的步驟是否正確(我還沒有使用終端),如果有的話,我怎樣才能讓編輯頁面顯示,因爲它顯示路由錯誤atm。

+0

修訂的railscasts不可公開訪問,所以向我們展示一些代碼。在此基礎上,我們可以提出一些建議 – CuriousMind 2013-02-20 17:17:52

+0

我已經添加了github鏈接來顯示所有文件。這應該有助於https://github.com/pwz2k/date – 2013-02-20 17:24:47

回答

1

只是幾個一般的指針。

在Railscasts中,users_controllernewcreate動作正在創建中。你想編輯一個用戶,所以你可以構建出這個控制器的editupdate動作。

# app/controllers/users_controller.rb 
class UsersController < ... 
    def new 
    # exists 
    end 

    def create 
    # exists 
    end 

    def edit 
    # load the current_user; make sure a user can only edit his record! 
    end 

    def update 
    # save edit for the current_user, same security as above 
    end 
end 

在你的路線,你可以弄清楚如何路由resource :profile單一資源(Rails guides)映射到相應的操作。

+0

謝謝我已經用我迄今爲止所做的工作更新了我的帖子。我不確定我會朝着正確的方向前進。 – 2013-02-22 15:07:29

相關問題