2013-06-05 21 views
12

這是一個新項目,因此如果有人向該方向提供建議,則抓取和重新啓動會很容易。基本上我創建了色器件用戶使用:爲設計用戶創建索引視圖

rails generate devise users 

但現在我想創造的東西就像一個用戶#索引頁顯示所有用戶的路由。我找不到任何似乎適用於我的遊戲路線rake routes

我的下一個想法是使用rails generate scaffold user嘗試生成這樣的視圖和控制器功能。這沒有奏效。

我對rails比較陌生,但對它有一個相當普遍的把握。我剛開始使用設計,所以這部分最讓我困惑,我正在使用它進行驗證。我已經四處尋求幫助,並已經研究了devise page相當多,但無濟於事。

只是一些額外的信息。當我嘗試路線http://localhost:3000/users時,我得到uninitialized constant UsersController,但是當我添加一個用戶控制器時,它只是抱怨別的東西。我已經嘗試了其他幾件事情,但不想通過進入所有問題來淡化問題。

回答

22

設計隱藏它自己的控制器和視圖在gem庫目錄中。您可以將視圖拖放到您的項目中進行編輯,但控制器沒有任何相似之處。有關示例,請參閱Devise documentation

這是很容易生成自己的這個控制器和視圖:

的config/routes.rb文件:

# NOTE: put this after the 'devise_for :users' line 
resources :users, only: [:index] 

應用程序/控制器/ users_controller.rb:

class UsersController < ApplicationController 

    def index 
    @users = User.all 
    end 

end 

app/views/users/index.html.erb:

<ul> 
    <% @users.each do |user| %> 
    <li><%= user.name %></li> 
    <% end %> 
</ul> 

這是一個極簡主義的例子,應該爲你工作。

如果您不需要像應用程序的公共部分那樣設計樣式,您可能需要考慮使用ActiveAdmin。爲您節省編碼,樣式和保護應用程序所需的大量基本記錄管理功能的麻煩。我使用ActiveAdmin,然後按照上面的方式滾動我自己的控制器/視圖/路線,以在應用程序的公共部分中顯示用戶列表。

+2

這是有道理的,我只是不知道是否設計干涉。我會在今天晚些時候嘗試 –

1

設計將處理註冊和登錄/註銷。它不會做任何其他事情。索引是導軌內典型的控制器動作。當您生成用戶腳手架時,是否添加了任何額外的參數? Rails getting started有基本的文件。向下滾動到關於腳手架的第六部分。當您生成腳手架時,您將創建一個模型,一個視圖和一個控制器。該教程的第7部分從頭開始創建一個模型。在你的情況下,用戶模型可能有一個字符串作爲電子郵件的名稱和字符串。模型可以有許多屬性,如布爾值或整數。 (您將需要爲密碼等認證添加設計屬性,但可以稍後添加。)因此,請嘗試再次生成腳手架,但要使用rails generate scaffold user name:string email:string。這會將名稱和電子郵件列添加到您的用戶模型。從那裏腳手架應該設置您在控制器和基本視圖中的默認操作。那麼你應該有你的索引行動。