列出所有用户并显示用户创建的所有 post

list all users and show all post made by user

我正在使用 devise,我想知道如何创建一个视图,以便该视图列出所有用户,当我单击一个用户时,它将显示该用户创建的所有 post。我就是想不通。

我可以列出所有用户,但是当我想点击一个用户并列出该用户从 ratter 完成的所有 post 时。

------------我的用户模型

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable

  has_many :ratter
 end

------------我的老鼠模型

class Ratter < ActiveRecord::Base
  belongs_to :user
end

------------我的看法

<h1>List all users </h1>

<% @user.each do |user| %>
 <%= user.email %>
 <%= link_to 'show', user %>
<% end %>

------------我的观点

class AdminController < ApplicationController


  def index
    @user = User.all
  end

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

  end
end

您应该能够通过关联访问用户 post,如下所示:

@user.ratter

然后在您的显示视图中,您可以简单地遍历它们,并使用路径方法生成 link 到 post:

<% @user.ratter.each do |ratter| %>
 <%= link_to ratter.title, ratter_path(ratter) %>
<% end %>

您可以 运行 'rails console' 进行游戏和测试。请注意,您需要在其中为路径命令添加 'app'。像这样:

app.ratter_path(1)