列出所有用户并显示用户创建的所有 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)
我正在使用 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)