列出所有用户并显示用户发布的所有帖子

时间:2015-02-26 13:39:34

标签: ruby ruby-on-rails-4 devise

我正在使用设计并且我更好地如何制作视图以便视图将列出所有用户,当我点击用户时它将显示该用户发布的所有帖子。我只是想不通。

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

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

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

------------- my ratter model

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

1 个答案:

答案 0 :(得分:0)

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

@user.ratter

然后在您的节目视图中,您可以简单地迭代它们,并使用路径方法生成指向帖子的链接:

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

你可以运行&#39; rails console&#39;玩耍和测试。请注意,您需要添加&#39; app&#39;在那里的路径命令。像这样:

app.ratter_path(1)