我有一个可以发布微博的用户模型,它显示在用户显示页面上,但我想知道我如何能够向用户向用户属于的模型显示,例如,在这种情况下,在这种情况下是一所学校。用户属于特定的学校,学校下面有许多用户。所有人都非常感谢!

用户显示页面

<div id="MicropostBody">
 <div>
 <% if @user.microposts.any? %>
    <table class="microposts">
      <%= render @microposts %>
    </table>
    <%= will_paginate @microposts %>
 <% end %>
 </div>
</div>

学校演出页面 一样?

<div id="MicropostBody">
 <div>
 <% if @user.microposts.any? %>
    <table class="microposts">
      <%= render @microposts %>
    </table>
    <%= will_paginate @microposts %>
 <% end %>
 </div>
</div>

用户控制器

def show
  @user = User.find(params[:id])
  @school = School.find(params[:id])
  @micropost = Micropost.new
  @microposts = @user.microposts.paginate(page: params[:page])
end

学校控制者一样??

def show
  @user = User.find(params[:id])
  @school = School.find(params[:id])
  @micropost = Micropost.new
  @microposts = @user.microposts.paginate(page: params[:page])
end

新的学校控制者

def show
  @school = School.find(params[:id])
  @user = User.new
  @micropost = Micropost.new
  @microposts = @school.microposts.paginate(page: params[:page])
  @micropost = current_school.microposts.build
end
有帮助吗?

解决方案

回顾一下 部分 如果您仍在挣扎,则在阅读任何进一步阅读之前,《 Rails教程》的一部分。

users/_microposts.html.erb

<div id="MicropostBody">
  <div>
    <% if microposts.any? %>
      <table class="microposts">
        <%= render microposts %>
      </table>
      <%= will_paginate microposts %>
    <% end %>
  </div>
</div>

然后,在两种视图中,您都可以使用:

<%= render 'users/microposts', :microposts => @microposts %>

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top