<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 9.5 小結 我們用了好幾章介紹如何實現用戶資源,在 [5.4 節](chapter5.html#user-signup-a-first-step)用戶還不能注冊,而現在不僅可以注冊,還可以登錄、退出、查看個人信息、修改信息,還能瀏覽網站中所有用戶的列表,某些用戶甚至可以刪除其他用戶。 現階段實現的演示應用建立了堅實的基礎,完全可用于任何需要認證用戶和權限系統的網站。[第 10 章](chapter10.html#account-activation-and-password-reset)會實現兩個附加功能:向新注冊的用戶發送賬戶激活鏈接(同時驗證電子郵件地址有效),以及密碼重設功能,幫助忘記密碼的用戶。 在繼續閱讀之前,先把本章所做的改動合并到 `master` 分支: ``` $ git add -A $ git commit -m "Finish user edit, update, index, and destroy actions" $ git checkout master $ git merge updating-users $ git push ``` 你還可以部署這個應用,甚至使用示例用戶填充生產數據庫(`pg:reset` 用于還原生產數據庫): ``` $ bundle exec rake test $ git push heroku $ heroku pg:reset DATABASE $ heroku run rake db:migrate $ heroku run rake db:seed $ heroku restart ``` 當然,在真實的網站中你或許并不想向數據庫中添加示例數據,我加入這個操作只是為了查看生產環境中的效果([圖 9.16](#fig-heroku-sample-users))。生產環境顯示的示例用戶順序各異,我的網站顯示的順序就和本地不同([圖 9.11](#fig-user-index-pagination))。這是因為,我們沒有指定從數據庫中取回用戶的順序,所以目前的順序由數據庫決定。這對用戶而言沒什么問題,但微博就不同了,我們會在 [11.1.4 節](chapter11.html#micropost-refinements)解決這個問題。 ![heroku sample users](https://box.kancloud.cn/2016-05-11_573330618d298.png)圖 9.16:生產環境顯示的示例用戶 ## 9.5.1 讀完本章學到了什么 * 可以使用編輯表單修改用戶的資料,這個表單向 `update` 動作發送 `PATCH` 請求; * 為了提升通過 Web 修改信息的安全性,必須使用“健壯參數”; * 事前過濾器是在控制器動作前執行方法的標準方式; * 我們使用事前過濾器實現了權限系統; * 針對權限系統的測試既使用了低層命令直接向控制器動作發送適當的 HTTP 請求,也使用了高層的集成測試; * 友好轉向會在用戶登錄后重定向到之前想訪問的頁面; * 用戶列表頁面列出了所有用戶,而且一頁只顯示一部分用戶; * Rails 使用標準的文件 `db/seeds.rb` 向數據庫中添加示例數據,這個操作使用 `rake db:seed` 任務完成; * `render @users` 會自動調用 `_user.html.erb` 局部視圖,渲染集合中的各個用戶; * 在用戶模型中添加 `admin` 布爾值屬性后,會自動創建 `user.admin?` 布爾值方法; * 管理員點擊刪除鏈接可以刪除用戶,點擊刪除鏈接后會向用戶控制器的 `destroy` 動作發起 `DELETE` 請求; * 在固件中可以使用嵌入式 Ruby 創建大量測試用戶。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看