2015-02-18 2 views
0

Я работаю над приложением Ruby on Rails, в котором у пользователя много сообщений, и у каждого сообщения много комментариев.Ruby on Rails - User Viewer пользователя

В администратора/Вид/user.erb файл, как бы один вывод на экран всех:

* сообщений пользователя?

* комментарии для каждого сообщения?

ответ

0

В пользователях таблицы добавить булев администратор столбца и установите значение 1, если вы хотите, чтобы пользователь, чтобы быть админами

В пользовательской модели определяет

def is_admin? 
    admin == true 
end 

В contoroller действий пользователя

@users = User.all 

В пользователе .erb, вы можете указать всех пользователей

- @users.each do |user| 
    = link_to user.name, show_users_path(user) 

В контроллер шоу действия

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

затем в шоу-странице

= @user.name 
- @user.posts.each do |post| 
    = post.data 
    - post.comments.each do |comment| 
     = comment.data 
0

Вы бы предположительно иметь идентификатор пользователя в URL где-то: по соглашению, ваш путь может быть

/admin/users/:id 

который идет на шоу действия администратора: UsersController

это имеет что-то вроде

@user = User.find_by_id(params[:id]) 

и по вашему мнению, у вас есть

<% @user.posts.each do %> 
    <div class="user-post"> 
    <div class="posted-at">Posted at <%= post.created_at.strftime("%d/%m/%Y") %></div> 
    <div class="post-body"> 
     <%= post.body %> 
    </div> 
    <% post.comments.each do |comment| %> 
     <div class="comment"> 
     <div class="posted-at">Posted at <%= comment.created_at.strftime("%d/%m/%Y") %></div> 
     <div class="post-body"> 
      <%= comment.body %> 
     </div>  
     </div>  
    <% end %> 
    </div> 
<% end %> 

, который вы, очевидно, можете адаптировать в соответствии с вашими требованиями.

Это все супер-основное. Вы много читали о рельсах? Это то, что генератор эшафотов сделает для вас.